连接到数据库,创建集合和编写文档的简单代码。但是,为什么通过调用jsonobj
更改collection.insert
?
var mongo = require('mongodb').MongoClient;
mongo.connect('mongodb://localhost:27017/testDB', function(err, connection) {
if (!err) {
connection.createCollection('test', function (err, collection) {
if (!err) {
var jsonobj = {foo: 'bar', abc: 'xyz'};
collection.insert(jsonobj, function (err, result) {
if (!err) {
//is not equal to the previous value of jsonobj
console.log(jsonobj);
}
});
}
});
}
});
我得到的输出是
{ foo: 'bar', abc: 'xyz', _id: 5769a38cd01e25512a3dbdd8 }
,它不等于jsonobj
的原始值。我知道MongoDB文档都具有一个_id
字段,但是为什么将其添加到我的对象中? 最佳答案
来自:https://docs.mongodb.com/manual/reference/glossary/
_ID
每个MongoDB文档中必填的字段。 _id字段必须具有唯一值。您可以将_id字段视为文档的
首要的关键。如果您创建的新文档没有_id字段,
MongoDB自动创建字段并分配唯一的BSON
ObjectId。
您的对象是文档,因此Mongo添加了它。
关于node.js - MongoDB集合插入添加_id字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37954089/