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 });
    });
});