gpt4 book ai didi

mongodb - 如何求和数组中的所有元素

转载 作者:可可西里 更新时间:2023-11-01 10:01:42 26 4
gpt4 key购买 nike

好的,所以我有一组看起来像这样的对象:

{  
"address":{
"building":"1007",
"coord":[
-73.856077,
40.848447
],
"street":"Morris Park Ave",
"zipcode":"10462"
},
"borough":"Bronx",
"cuisine":"Bakery",
"grades":[
{
"date":{
"$date":1393804800000
},
"grade":"A",
"score":2
},
{
"date":{
"$date":1378857600000
},
"grade":"A",
"score":6
},
{
"date":{
"$date":1358985600000
},
"grade":"A",
"score":10
},
{
"date":{
"$date":1322006400000
},
"grade":"A",
"score":9
},
{
"date":{
"$date":1299715200000
},
"grade":"B",
"score":14
}
],
"name":"Morris Park Bake Shop",
"restaurant_id":"30075445"
}

这只是这些集合中的一个元素。例如,如何编写 MongoDB 查询以便获得总分大于 70 的餐厅?

我是 MongoDB 的新手,如果问题重复出现,我很抱歉,但我没有找到任何有用的东西。

最佳答案

您可以使用 $reduce计算数组的总和并将其放入 $expr 中, 尝试:

db.col.aggregate([
{
$match: {
$expr: {
$gte: [
{ $reduce: { input: "$grades", initialValue: 0, in: { $add: [ "$$value", "$$this.score" ] } } },
70
]
}
}
}
])

关于mongodb - 如何求和数组中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54405777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com