使用MongoDB文档中的字段ID或_ID有什么区别吗?

我问这个问题,因为我通常使用"_id",但是我在文档中看到了这种({id:-1})类型:http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs#OptimizingObjectIDs-Sortbyidtosortbyinsertiontime

EDIT

结果证明文件是错的.

推荐答案

我想这只是文档中的一个输入错误._id字段是每个文档的主键.它叫_id,也可以通过id访问.try 使用id键可能会导致illegal ObjectId format错误.

该部分只是指示自动生成的objectid以时间戳开始,这样就可以自动对文档进行排序.这很酷,因为_id在每个集合中都会自动编入索引.更多信息请参见http://www.mongodb.org/display/DOCS/Object+IDs.特别是在"BSON ObjectID规范"下.

BSON对象id是一个12字节的值,由4字节的时间戳(自历元起的秒数)、3字节的机器id、2字节的进程id和3字节的计数器组成.请注意,时间戳和计数器字段必须以大端存储,这与BSON的其他字段不同.

Mongodb相关问答推荐

Mongo 聚合查找 $gte 6 个月前的日期,以DD-MM-YYYY格式存储为字符串

将子元素的数组值提取到 mongodb 中的单个数组中?

Mongoose 查询以获取内部数组和该内部数组中的特定元素

MongoDB:通过嵌套数组中的最后一个元素值获取文档

MongoDB:嵌套数组计数+原始文档

管道聚合mongodb同一$project阶段的计算字段?

聚合 $accumulator + $project

使用 homebrew 和 Xcode 8.1.1 安装 Mongodb 失败

Spring Boot MongoDB 连接问题

带有 mongodb 和 nodejs 的实时 Web 应用程序

NoSql 参考数据

如何在 mongo JavaScript shell 中中止查询

MongoDB:多个 $elemMatch

单个模式数组中的多个模式引用 - mongoose

Mongoose / MongoDB 用户通知方案建议

C# MongoDB 驱动程序 - 如何使用 UpdateDefinitionBuilder?

mongo中的稀疏索引和空值

带有索引字段的 MongoDB 正则表达式

MongoDb:聚合 $lookup 过滤外部文档

MongoDB Compass:select distinct field values