Node.js 按数组长度排序mongodb查询

Node.js 按数组长度排序mongodb查询,node.js,mongodb,mongodb-query,aggregation-framework,Node.js,Mongodb,Mongodb Query,Aggregation Framework,我有如下MongoDB文档: 是否有查询以订阅组的长度对文档进行排序?可以是升序或降序 { "_id" : ObjectId("58c29d9ec79d585c0e16b110"), "subscribedGroups" : [ ObjectId("5b28a9190c8c0d0014b03a0c"), ObjectId("5b2930650b813a0014a3294d"), ObjectId("5b29f1b5243d470014d

我有如下MongoDB文档: 是否有查询以订阅组的长度对文档进行排序?可以是升序或降序

{ 
    "_id" : ObjectId("58c29d9ec79d585c0e16b110"), 
    "subscribedGroups" : [
      ObjectId("5b28a9190c8c0d0014b03a0c"), 
      ObjectId("5b2930650b813a0014a3294d"), 
      ObjectId("5b29f1b5243d470014d6d351")
    ]
}

您可以使用,然后使用数组的长度轻松地找到
订阅组的大小

db.collection.aggregate([
  {
    $addFields: {
      subscribedGroupsLength: {
        $size: "$subscribedGroups"
      }
    }
  },
  {
    $sort: {
      subscribedGroupsLength: -1
    }
  }
])

查看

到目前为止,您是否有一个您尝试过的示例?这比使用旧的“放松”、“分组”和“排序”想法要好得多!