【发布时间】:2021-07-29 10:31:33
【问题描述】:
我需要按包含布尔值的数组字段对文档进行排序。
{
"_id" : ObjectId("610024d989c5b829e72940c5"),
"firstname" : "Christophe",
"lastname" : "Pichon",
"documents" : [
{
"mongoId" : "610024d90053e800143b0fd3",
"status" : "notified",
"signable" : true,
"signed" : false
},
{
"mongoId" : "610024d90053e800143b0fd5",
"status" : "notified",
"signable" : true,
"signed" : false
},
{
"mongoId" : "60fea9140053e800143b0f92",
"status" : "notified",
"signable" : false,
"signed" : false
},
{
"mongoId" : "610024d90053e800143b0fd7",
"status" : "notified",
"signable" : true,
"signed" : false
}
]
},
{
"_id" : ObjectId("610024b189c5b829e72940c4"),
"firstname" : "Paulette",
"lastname" : "Besnard",
"documents" : [
{
"mongoId" : "610024b00053e800143b0fc4",
"status" : "notified",
"signable" : true,
"signed" : true
},
{
"mongoId" : "610024b10053e800143b0fc6",
"status" : "notified",
"signable" : true,
"signed" : false
},
{
"mongoId" : "60fea9140053e800143b0f92",
"status" : "notified",
"signable" : false,
"signed" : false
},
{
"mongoId" : "610024b10053e800143b0fc8",
"status" : "notified",
"signable" : true,
"signed" : false
}
]
},
{
"_id" : ObjectId("60febc9e89c5b829e72940c3"),
"firstname" : "Louis",
"lastname" : "Herve",
"documents" : [
{
"mongoId" : "60febc9e0053e800143b0fb7",
"status" : "notified",
"signable" : true,
"signed" : true
},
{
"mongoId" : "60febc9e0053e800143b0fb9",
"status" : "notified",
"signable" : true,
"signed" : true
},
{
"mongoId" : "60fea9140053e800143b0f92",
"status" : "notified",
"signable" : false,
"signed" : false
},
{
"mongoId" : "60febc9e0053e800143b0fbb",
"status" : "notified",
"signable" : true,
"signed" : false
}
]
},
排序后,我需要这个结果:
{
"_id" : ObjectId("60febc9e89c5b829e72940c3"),
"firstname" : "Louis",
"lastname" : "Herve",
},
{
"_id" : ObjectId("610024b189c5b829e72940c4"),
"firstname" : "Paulette",
"lastname" : "Besnard",
},
{
"_id" : ObjectId("610024d989c5b829e72940c5"),
"firstname" : "Christophe",
"lastname" : "Pichon",
},
作为:
- Louis 有 2/3(已签名/可签名)文件
- 波莱特有 1/3
- 克里斯托夫 0/3
所以我需要按签名对文档进行排序,并检索签署最多文档的用户。
关于如何执行此操作的想法?
感谢您的帮助
【问题讨论】:
-
“签署最多的文件”是指最大签署文件数或最高百分比的签署文件?即 2/6 或 1/2 哪个应该赢
-
到目前为止您尝试过什么?你被困在哪里了?您面临什么问题?
-
嗨,@sagar-dhandhukiya 正是我想要的。感谢大家的帮助
标签: arrays database mongodb sorting