我正在使用猫鼬来操作mongodb . 现在,为了测试,我想通过本机连接将一些数据插入到mongodb中 .
但问题是如何在插入后获取生成的id?
我试过了:
var mongoose = require('mongoose');
mongoose.connect('mongo://localhost/shuzu_test');
var conn = mongoose.connection;
var user = {
a: 'abc'
};
conn.collection('aaa').insert(user);
console.log('User:');
console.log(user);
但它打印:
{ a: 'abc' }
没有 _id
字段 .
4 回答
如果你使用.save,那么你将在回调函数中得到_id .
如果你喜欢使用Promises:
或者,如果您使用的是Node.js> = 7.6.0:
您可以自己生成
_id
并将其发送到数据库 .这是我最喜欢的MongoDB功能之一 . 如果您需要创建多个彼此链接的对象,则无需在app和db之间进行多次往返 . 您可以在应用程序中生成所有ID,然后只需插入所有内容 .
您可以将Update方法与upsert:true选项一起使用