我有一个项目集合,其价格取决于用户会员资格(银、金、铂(
{
..
memberships: [
{level: "silver", price: 100},
{level: "gold", price: 90},
{level: "platinum", price: 80}
]
}
当白银用户浏览商品时,他们需要使用会员价格来查看按价格排序的商品,其中级别为白银。
我该如何排序?
您可以在聚合管道中使用$unvent,然后使用$sort。例如:这里是
db.collection.aggregate(
{ $unwind: "$memberships" },
{ $sort: { "memberships.price": 1 }},
{ $group: {
_id: "$_id",
"memberships": { $push: "$memberships" }
}
})