Mongodb排序问题

Mongodb排序问题,mongodb,mongodb-query,Mongodb,Mongodb Query,我的mongodb收藏: [{ "_id" : ObjectId("5dd6598d55396f36052e347d"), "isActive" : true, "myarray" : [ { "my_id" : "5d967d08821b4031a197b002", "name" : "jack" }, { "my_id" : "5d967d2c8

我的mongodb收藏:

  [{
    "_id" : ObjectId("5dd6598d55396f36052e347d"),
    "isActive" : true,
    "myarray" : [
        {
            "my_id" : "5d967d08821b4031a197b002",
            "name" : "jack"
        },
        {
            "my_id" : "5d967d2c821b4031a197b003",
            "name" : "manison"
        }
    ]
  },
  {
    "_id" : ObjectId("5dd6598d55396f36052e347d"),
    "isActive" : true,
    "myarray" : [
        {
            "my_id" : "5d967d08821b4031a197b002",
            "name" : "penelope"
        },
        {
            "my_id" : "5d967d2c821b4031a197b003",
            "name" : "cruz"
        }
    ]
  }]
在这里,我试图根据名称进行排序。 不希望在数组内部排序,但希望在数组外部排序

期望的结果是什么

[{
  "_id" : ObjectId("5dd6598d55396f36052e347d"),
  "isActive" : true,
  "myarray" : [
    {
      "my_id" : "5d967d08821b4031a197b002",
      "name" : "penelope"
    },
    {
      "my_id" : "5d967d2c821b4031a197b003",
      "name" : "cruz"
    }
  ]
},{
  "_id" : ObjectId("5dd6598d55396f36052e347d"),
  "isActive" : true,
  "myarray" : [
    {
      "my_id" : "5d967d08821b4031a197b002",
      "name" : "jack"
    },
    {
      "my_id" : "5d967d2c821b4031a197b003",
      "name" : "manison"
    }
  ]
}]
“name”:“cruz”排在第一位,因为字母C比J和M(在第二个json中)来得快

Prenelop和cruz不仅仅切换了按照名称顺序切换的主文档json

我正在使用的查询

db.traffic.aggregate([
  {$unwind: "$customFieldArray"}, 
  {$sort: {"customFieldArray.field_value":1}}, 
  {$group: {_id:"$_id", customFieldArray: {$push:"$customFieldArray"}}}
]);
但这就像把克鲁兹带到佩内洛普,反之亦然

而主要经济体保持稳定


请看一看

您可以使用
光标进行简单的
查找
查询

db.traffic.find({}).sort({ "myarray.name": -1 })

对于数组,小于比较或升序排序比较 数组的最小元素,且大于比较或 降序排序比较数组中最大的元素