【发布时间】:2019-12-16 10:37:33
【问题描述】:
MongoDB 的每个文档都有一个名为“_id”的字段。我看到人们到处使用它作为主键,并在查询中使用它来通过 _id 查找文档。
此字段默认使用自动生成的 ObjectId,例如:
db.tasks.findOne()
{
_id: ObjectID("ADF9"),
description: "Write lesson plan",
due_date: ISODate("2014-04-01"),
owner: ObjectID("AAF1") // Reference to another document
}
但是在 JavaScript 中,对象中字段后面的下划线是私有的约定,并且由于 MongoDB 使用 JSON(特别是 BSON),我应该使用这些 _id 来查询、查找和描述文档之间的关系吗?好像不太对。
看到MongoDB有办法生成UUIDhttps://docs.mongodb.com/manual/reference/method/UUID
我是否应该忘记 _id 属性,并使用 UUID 创建自己的索引 id 属性?
【问题讨论】: