Javascript Mongoose和mongodb如何返回刚刚保存的对象?
我对猫鼬/猫鼬是新手 假设我正在保存一些东西:Javascript Mongoose和mongodb如何返回刚刚保存的对象?,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,我对猫鼬/猫鼬是新手 假设我正在保存一些东西: var instance = new TestingModel(); instance.test = 'blah2'; instance.save(); 因此,当我保存数据库中的实例obj时,它将具有、\u id和test。但是_id属性只有在输入db之后才添加到对象中。注意:我之前不想给它一个id。但是,我想在db中获取对象,因为我需要使用_id值,但我不想再次查询它。是否有一种方法可以将对象保存在数据库中并自动返回数据库对象,以便获取_id值
var instance = new TestingModel();
instance.test = 'blah2';
instance.save();
因此,当我保存数据库中的实例obj时,它将具有、\u id和test。但是_id属性只有在输入db之后才添加到对象中。注意:我之前不想给它一个id。但是,我想在db中获取对象,因为我需要使用_id值,但我不想再次查询它。是否有一种方法可以将对象保存在数据库中并自动返回数据库对象,以便获取_id值?保存后应显示
\u id
:
var instance = new TestingModel()
instance.test = 'blah'
instance.save(function(err){
console.log(instance._id) // => 4e7819d26f29f407b0...
})
编辑:实际上,\u id
是在实例化时设置的,因此在保存之前它应该已经存在了:
var instance = new TestingModel()
console.log(instance._id) // => 4e7819d26f29f407b0...
正确的检查方法是调用save:
instance.save(function(err,savedObj){
// some error occurs during save
if(err) throw err;
// for some reason no saved obj return
else if(!savedObj) throw new Error("no object found")
else console.log(savedObj);
})
美好的刚刚测试过这个。嘿,像这样的东西的文档在哪里?即使你的答案对我有帮助,你知道有什么方法可以回答我的问题吗?只是想知道…我只是再看一遍,似乎
\u id
是在创建对象时生成的,所以直接从实例抓取它。\u id
。这并没有完全回答问题,问题是返回刚刚保存的对象,而不是它的id
router.post('/', function(req, res) {
var user = new User();
user.name = req.body.name;
user.token = req.body.token;
user.save(function(err, obj) {
if (err)
res.send(err);
res.json({ message: 'User created!', data: obj });
});
});