2011-09-20 81 views
8

我是新来的猫鼬/ MongoDB的Mongoose与mongodb如何返回刚刚保存的对象?

说我节省了一句:

var instance = new TestingModel(); 
instance.test = 'blah2'; 
instance.save(); 

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

回答

17

_id应该存在:

var instance = new TestingModel() 

instance.test = 'blah' 

instance.save(function(err){ 
    console.log(instance._id) // => 4e7819d26f29f407b0... 
}) 

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

var instance = new TestingModel() 
console.log(instance._id) // => 4e7819d26f29f407b0... 
+0

我将测试这个出来,希望你好 – Derek

+1

好!刚刚测试过这个。嘿在这种东西的文档在哪里? – Derek

+0

和你知道一种方法来做我的问题甚至我的问题你的答案确实帮助我吗?只是想知道...... – Derek

相关问题