在mongoose.js或mongodb api中是否有save
操作,它返回存储条目的_id?
在mongoose中,以下内容将保存Entry。
p.save(function (err) {
if (err) return handleError(err);
else console.log('saved');
})
})
同样db.collection.save(document)
会将文档保存在mongodb api中。但在这两种情况下,您需要再次查询db以获取_id,我想避免这种情况。因为它似乎不方便。
答案 0 :(得分:0)
当您在Mongoose中实例化一个对象时,该对象将已经分配了_id
(默认情况下,它在客户端上分配)。
所以,如果你只是检查:
console.log(p.id);
在致电save
之前,您会看到它有一个值。
在使用Node.JS的本机驱动程序的情况下,文档将在result
参数中返回,并设置_id
。
var collection = db.collection("tests");
collection.insert(p, function(err, results) {
if (err) { return; }
// results in an array, and in this case
// results[0]._id would be available
});