MongoDB集合插入添加_id字段

时间:2016-06-21 20:34:29

标签: node.js mongodb

连接数据库,创建集合和编写文档的简单代码。但是,为什么通过调用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字段,但为什么它被添加到我的对象中?

1 个答案:

答案 0 :(得分:3)

来自:https://docs.mongodb.com/manual/reference/glossary/

  

_id

     

每个MongoDB文档中都需要一个字段。 _id字段必须具有唯一值。您可以将_id字段视为文档   首要的关键。如果您创建没有_id字段的新文档,   MongoDB自动创建字段并分配唯一的BSON   的ObjectId。

您的对象是文档,因此Mongo添加了它。