gpt4 book ai didi

node.js - 该字段必须是mongo中的累加器对象

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:31 25 4
gpt4 key购买 nike

我正在执行聚合查询。我的要求是我有以下格式的文档:

{
"name":"a","age":20},
{
"name":"b","age":23},
{
"name":"a","age":26}

我需要对姓名字段中包含“a”的所有姓名的年龄求和。我正在执行以下操作,但它给了我一个错误:“字段‘名称’必须是累加器对象”:

db.collection('students').aggregate({
$group: {"name": "a", "sum": {$sum: '$age'}}
}, {
$project: {sum: '$sum'}
}, (e, d) => {
if (!e) {
var e = d.stream({transform: JSON.stringify});
console.log("answer")
console.log(e);
deferred.resolve(e);
} else {
console.log(e)
}
})

最佳答案

我更改了您的聚合查询。请尝试如下:

db.collection('students').aggregate(
[
{
$match: {
name: "a"
}
},
{
$group: {_id: "$name",
"sum": {
$sum: '$age'
}
}
},
{
$project: {
sum: 1
}
], (e, d) => {
if (!e) {
var e = d.stream({transform: JSON.stringify});
console.log("answer")
console.log(e);
deferred.resolve(e);
} else {
console.log(e)
}
})

关于node.js - 该字段必须是mongo中的累加器对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54823617/

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