MongoDB如何排序/比较对象

时间:2016-10-13 16:26:48

标签: mongodb

无法找到有关MongoDB如何比较/排序复杂对象的明确文档。我已经尝试了一些例子,发现房产订单确实很重要,房产名称也很重要 示例: -

订购事宜 {“name”: {“first”: “A”, “last”: “B”}} != {“name”: {“last”: “B”, “first”: “A”}}

价值观很重要 {“name”: {“first”: “A”}} < {“name”: {“first”: “B”}}

属性名称很重要 {“name”: {“**f**irst”: “A”}} < {“name”: {“**g**irst”: “A”}}

所以想知道这究竟是如何工作的,我确信缺少属性的东西也会影响这个。

1 个答案:

答案 0 :(得分:0)

如果对name等嵌入对象字段进行排序,则使用二进制表示(BSON对象)级别进行排序比较,这不是很有用。

您通常要做的是使用点表示法标识这些对象中的特定字段,并按照您想要的顺序排列:

// Sort on last name, and then first name
db.test.find().sort({'name.last': 1, 'name.first': 1})