【问题标题】:how to sort array of objects in mongodb [duplicate]如何在mongodb中对对象数组进行排序[重复]
【发布时间】:2019-05-30 18:49:54
【问题描述】:

我的 MongoDB 文档结构:

 _id:ObjectId("12345")
    hai:Array
    0:Object
    designation:"software"
    1:Object
    designation:"hardware"
    2:Object
    designation:"Core"

我需要对 hai 数组中的名称进行排序。 我试过这样,但没有工作

db.collection.find({_id:ObjectId("12345")}).sort(hai:-1)
db.collection.find({_id:ObjectId("12345")}).sort(hai.designation:-1)

谁能帮忙 提前致谢

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    排序函数需要这样的对象(注意排序中的括号):

    db.collection.find({_id:ObjectId("12345")}).sort({hai:-1})
    

    db.collection.find({_id:ObjectId("12345")}).sort({"hai.designation":-1})
    

    另请注意,如果您的排序是在嵌套对象上,那么您需要在键周围使用引号。

    另外:如果你不使用管道,即复杂的查询,那么你不需要使用 unwind。

    【讨论】:

    • 我认为要求不是对文档进行排序,而是对文档中的一个字段进行排序。
    【解决方案2】:

    您必须先unwind 数组,然后才能对数据进行排序。

    参考链接:Sort array

    【讨论】:

      猜你喜欢
      • 2018-02-01
      • 2016-10-30
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 2020-11-19
      • 2021-12-03
      • 1970-01-01
      相关资源
      最近更新 更多