如果重复,我深表歉意。我有这样的集合:
{
game_name:"ABC",
...,
prices:[
{area: 'US', price_usd: 10},
{area: 'AU', price_usd: 11},
...
]
},
...
我可以得到:
{game_name:"ABC", min_price:"10"}
...
由:
db.games.aggregate({
$project:{
"game_name":1,
"min_price":{
$min:"$prices.price_usd"
}
}
})
但是,我想要的查询结果是:
{game_name:"ABC", min_price:"10", min_area: "US"}
...
有人可以帮忙吗?谢谢
您可以使用
以下聚合
db.games.aggregate([
{ "$project": {
"game_name": 1,
"min_price": {
"$min": "$prices.price_usd"
},
"min_area": {
"$arrayElemAt": [
"$prices.area",
{ "$indexOfArray": ["$prices.price_usd", { "$min": "$prices.price_usd" }] }
]
}
}}
])