mongodb中子文档排序的分页访问

mongodb中子文档排序的分页访问,mongodb,Mongodb,问题是我不知道如何在mongodb中编写关于子文档排序分页访问的源语句。谁能帮助我?MongoDb子文档排序分页访问如下: db.getCollection('Request').aggregate( {$match:{"UserId": 1}}, {$unwind: "$ReceiveRequestList"}, {$sort:{"ReceiveRequestL

问题是我不知道如何在
mongodb
中编写关于子文档排序分页访问的源语句。谁能帮助我?

MongoDb子文档排序分页访问如下:

db.getCollection('Request').aggregate(
                    {$match:{"UserId": 1}},      
                    {$unwind: "$ReceiveRequestList"}, 
                    {$sort:{"ReceiveRequestList.IsStatus": 1, "ReceiveRequestList.CreateTime": 1}}, 
                    {$group: {"_id" : "$_id", "TotalCount":{$sum: 1}, "ReceiveRequestList": {"$push": "$ReceiveRequestList"}  }},

                    {$unwind: "$ReceiveRequestList"},
                    {$skip: 1},
                    {$limit: 1},
                    {$group: {"_id" : "$_id", "ReceiveRequestList": {$push: "$ReceiveRequestList"}, "TotalCount": {$first: "$TotalCount"}   }},
                    {$project: {"_id": 0, "ReceiveRequestList": 1, "TotalCount": 1}
)
解释上述代码:

  • “Request”是tablename
  • “ReceiverRequestList”是子文档名称
  • “$unwind”命令将子文档列表拆分为多个主文档
  • “$sort”用于按字段名对订单进行排序
  • “$group”用于统计数据
  • “$skip”和“$limit”用于分页获取数据
  • “$project”用于筛选字段名 0:表示不包含字段名的字段 1:表示包含字段名的字段
  • 总结: mongodb无法直接支持子文档排序,因此需要使用“$unwind”命令将子文档列表拆分为主文档,然后对主文档进行排序(使用“$unwind”命令生成),最后使用“$group”命令将主文档合并为子文档列表


    我希望它能帮助你

    详细解释您的问题是个好主意。谢谢您的建议。