我是 mongo/nosql 的新手,在项目“VALUES”中有多个具有相同数组结构的文档。我希望能够对 2 个或更多数组的每个元素位置求和。感谢您的帮助!
数组
{
"_id" : ObjectId("54cbf4e6e883561eba48425e"),
"NAME" : "ATest",
"VALUES" : [
1,
2,
3,
4,
5
]
}
{
"_id" : ObjectId("54cbf4e6e883561eba4842b4"),
"NAME" : "BTest",
"VALUES" : [
10,
20,
30,
40,
50
]
}
期望的结果
{
"_id" : "SUMTest",
"SUMVALUES" : [
11,
22,
33,
44,
55
]
}
最佳答案
作为聚合会很困难,但尝试 map reduce并以索引作为 id 发出每个值。像这样的东西:
mapReduce(
function m() {
this.VALUES.forEach(function (value, index) {
emit(index, value)
})
},
function r(id, values) {
return Array.sum(values)
},
{
query: {}
}
)
关于mongodb - 如何在 Mongo 中对 2 个或多个数组的元素求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28302947/