Javascript 在MongoDB中获取新创建的对象ID
我有以下MongoDB查询,我正在使用MongoDB node.js驱动程序进行连接:Javascript 在MongoDB中获取新创建的对象ID,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我有以下MongoDB查询,我正在使用MongoDB node.js驱动程序进行连接: db.collection('employee').insertOne(employeeObj).then(result => { console.log(result); res.send(result); }).catch(function (err) { console.log("ERROR: ", err); }); 从上面可以看出,我希望获得新创建的员工对象的Id,但
db.collection('employee').insertOne(employeeObj).then(result => {
console.log(result);
res.send(result);
}).catch(function (err) {
console.log("ERROR: ", err);
});
从上面可以看出,我希望获得新创建的员工对象的Id,但当我控制台记录结果时,我得到:
Object { n: 1, ok: 1 }
使用上述查询,我如何也包括刚在返回结果中创建的新
\u id
。一旦\u id
字段添加到集合中,它就会被添加到employeeObj
这是来自:
insertOne(文档、选项、回调)插入单个文档 进入MongoDB。如果传入的文档不包含_id字段,则 将被添加到驾驶员丢失的每个文档中, 修改文档。可以通过设置 forceServerObjectId标志 只需将代码更改为:
db.collection('employee').insertOne(employee).then(result => {
console.log(employee._id);
res.send({employee, result});
}).catch(function (err) {
console.log("ERROR: ", err);
});
可能也会有帮助。我想您使用的是mongoose软件包。如果要为文档创建自定义\u id,可以使用
var newId = new mongoose.mongo.ObjectId('56cb91bdc3464f14678934ca');
并将其与employee对象一起传递
更多信息。应该包含一个insertedId
属性,该属性是驱动程序为插入操作生成的ObjectId
尝试记录
result.insertedId
以检查id,并且您应该在ops
属性中有插入的对象。您可以记录console.log(result.ops[0])告诉我们它显示了什么?我不认为他在用猫鼬@希德-你说得对-我没有用猫鼬。我实际上使用的是mongodb node.js驱动程序-require('mongodb').MongoClient;