mongodb - mongoDb中键值的顺序

标签 mongodb mongo-shell

<分区>

mongo 代码:

db.temperature.insert({"x":3,"y":4});

db.temperature.find();

输出 { “_id”:ObjectId(“52b418fb132c1f3236831447”),“y”:4,“x”:3

请帮助我理解为什么在我的情况下(上图)即使插入顺序不同,find 方法也会先显示 Y 值然后再显示 x 值。

感谢任何帮助。

最佳答案

引用 https://stackoverflow.com/a/6453755/1150636

Both document structure and collection structure in MongoDB based on JSON principles. JSON is a set of key/value pairs (in particular fieldName/fieldValue for document and index/document for collection). From this point of view it doesn't seem that you can rely on order at all.

这意味着没有特定的顺序要求 mongodb 返回一条记录的字段。您需要准备好按照可能返回的顺序解析结果。

关于mongodb - mongoDb中键值的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20701412/

相关文章:

windows - 在 2008R2 上将 mongos 路由服务器作为 Windows 服务运行?

mongodb - 在MongoDB中将字段乘以值

c# - 当 C# 端没有等效值时,我们如何处理 Enum 的反序列化错误?

mongodb - 如何使用 Powershell 对 MongoDB 进行复杂查询

java - 如何获取文档,其中任何字段值与 MongoDB Java 中列出的任何表达式相匹配

node.js - MongoDb - 要创建新的 ObjectId,请尝试 `Mongoose.Types.ObjectId` 而不是使用 `Mongoose.Schema.ObjectId`

mongodb - 在mongodb中提取子数组值

MongoDb 解释失败 : "unknown top level operator: $query"

javascript - mongodb:全局将对一个ObjectID的所有引用替换为另一个ObjectID?

javascript - 使用 mongo shell 执行 JavaScript 函数没有输出