MongoDB文档ID是整个数据库或该集合唯一的吗?

时间:2018-12-05 21:00:13

标签: mongodb mongoose mlab

我正在使用MLab为正在处理的node.js项目托管MongoDB数据库。我想使用自动给文档的uid来标识集合中的特定文档。我想知道默认ID是否仅在文档所在的集合中是唯一的,还是在整个数据库中都是唯一的。

{
    "_id": { // <<<< this is what I'm talking about
        "$oid": "5c0754d8d0d1c81b400690a3"
    },
    "owned": [],
    "equipped": [],
    "prospects": [],
    "username": "Urist",
    "password": "dcddb75469b4b4875094e14561e573d8",
    "date": {
        "$date": "2018-12-05T04:32:24.690Z"
    },
    "trades": [],
    "__v": 0
}

1 个答案:

答案 0 :(得分:1)

_id在单个集合中必须唯一。 _id对于不同集合或数据库中的文档不必唯一。

https://docs.mongodb.com/manual/core/document/#field-names中:

  

保留字段名称_id用作主键;其值在集合中必须是唯一的,不可变的,并且可以是数组以外的任何其他类型。