没有ObjectId的mongoDB记录

时间:2018-03-09 14:56:32

标签: node.js mongodb node-mongodb-native

当我使用mongoDB本机驱动程序在我的NodeJS应用程序中进行交互时,我很惊讶在特定集合中看到的记录很少。以下是我的find()查询的输出。

    {
    "_id" : ObjectId("5aa14080f375c27bb8378076"),
    "first_name" : "Smith",
    "last_name" : "James",
    "email" : "Smith.James@gmail.com",
    "gender" : "Male",
    "hobbies" : {
        "indoor_games" : true,
        "outdoor_games" : true,
        "other" : false
    },
    "profession" : "Employee",
    "notifications" : true
}
{
    "_id" : "5aa14034394a267adb8e42f7",  --> here without ObjectId
    "first_name" : "Davis",
    "last_name" : "John",
    "email" : "Davis.John@gmail.com",
    "gender" : "Male",
    "hobbies" : {
        "indoor_games" : true,
        "outdoor_games" : true,
        "other" : false
    },
    "profession" : "Employee",
    "notifications" : true
}

我知道_id本身是由mongo生成的,但由于记录很少,为什么没有ObjectId而只存在字母数字字符串?这背后有什么理由吗?使用mongoDB的{​​{1}}本机驱动程序包保存所有记录。

1 个答案:

答案 0 :(得分:1)

只有在您有意或手动插入objectId时才会发生这种情况。在保存/插入时,MongoDB创建它" _id" as ObjectId本身。