【发布时间】:2019-07-06 16:26:24
【问题描述】:
如何对文档中的子数组进行排序并保留父字段? 我有一个这样的集合:
{
"_id" : ObjectId("5d1757929831633ff8abb638"),
"name" : "Carraro Exlusive",
"description" : "Carraro Exlusive description",
"image" : "image-15",
"__v" : 0,
"sellers" : [
{
"_id" : ObjectId("5d1757929831633ff8abb639"),
"product" : ObjectId("5d1757929831633ff8abb638"),
"seller" : ObjectId("5d1518582f9254189ca92e59"),
"price" : 13,
"stock" : 5,
"__v" : 0
},
{
"_id" : ObjectId("5d175b60cf85a22f745235ee"),
"product" : ObjectId("5d1757929831633ff8abb638"),
"seller" : ObjectId("5d164802c4dc7811b0f34b86"),
"price" : 10,
"stock" : 222,
"__v" : 0
}
]
}
我想按价格从小到大对内部卖家数组进行排序。
我想要的结果是:
{
"_id" : ObjectId("5d1757929831633ff8abb638"),
"name" : "Carraro Exlusive",
"description" : "Carraro Exlusive",
"category" : ObjectId("5d151ad1b72c830f14374bb4"),
"brand" : ObjectId("5d151981b72c830f14374bb2"),
"image" : "image-15",
"__v" : 0,
"sellers" : [
{
"_id" : ObjectId("5d175b60cf85a22f745235ee"),
"product" : ObjectId("5d1757929831633ff8abb638"),
"seller" : ObjectId("5d164802c4dc7811b0f34b86"),
"price" : 10,
"stock" : 222,
"__v" : 0
},
{
"_id" : ObjectId("5d1757929831633ff8abb639"),
"product" : ObjectId("5d1757929831633ff8abb638"),
"seller" : ObjectId("5d1518582f9254189ca92e59"),
"price" : 13,
"stock" : 5,
"__v" : 0
}
]
}
我看到了以下帖子,但我想保留父字段: Mongodb sort inner array
【问题讨论】:
-
@Ashh 正如我在帖子中指出的那样,我已经看到了问题stackoverflow.com/questions/15388127/mongodb-sort-inner-array 我想要的是保留父字段。
-
@Ashh 太棒了:) 非常感谢,有没有办法接受这个作为答案?
-
@Ashh 您应该将该查询放在答案中。该解决方案将出现在谷歌搜索类似问题中。如果您没有机会这样做,我可以很快将您的查询复制粘贴到答案中。非常酷+1
-
@JBone 是啊!!!完成
标签: mongodb mongodb-query aggregation-framework