Mongoose与mongodb如何返回刚刚保存的对象?

Der*_*rek 12 javascript mongoose mongodb

我是mongoose/mongodb的新手

说我保存了一些东西:

var instance = new TestingModel();
instance.test = 'blah2';
instance.save();
Run Code Online (Sandbox Code Playgroud)

因此,当我保存数据库中的实例obj将具有,_id和test时.但只有在进入db后才会将_id属性添加到对象中.注意:我之前不想给它一个id.但是,我想抓住数据库中的对象,因为我需要使用_id值,但我不想再次查询它.有没有办法将对象保存在数据库中并自动返回数据库对象,以便获取_id值?

Ric*_*asi 25

_id应在保存后存在:

var instance = new TestingModel()

instance.test = 'blah'

instance.save(function(err){
    console.log(instance._id) // => 4e7819d26f29f407b0...
})
Run Code Online (Sandbox Code Playgroud)

编辑:实际上_id是在实例化时设置的,所以在保存之前它应该已经存在:

var instance = new TestingModel()
console.log(instance._id) // => 4e7819d26f29f407b0...
Run Code Online (Sandbox Code Playgroud)

  • 刚刚又看了一遍,好像是在创建对象的时候生成了`_id`,直接从`instance._id`中抓取即可。 (2认同)