我有一个名为test
的集合。我希望在sal
集合中的所有文档中获得一个密钥的总数:test
。
以下是示例文档:
[
{
"name": "hari",
"sal": "100",
"status": "Y",
"address": "Bangalore"
},
{
"name": "Sam",
"sal": "200",
"status": "Y",
"address": "Bangalore"
},
{
"name": "Nik",
"sal": "200",
"status": "N",
"address": "Bangalore"
}
]
我尝试了以下查询:
db.getCollection('test').aggregate([{
$match: {
Status: "Y"
}
}, {
$group: {
_id: null,
total: {
$sum: "$sal"
}
}
}])
我变零了。
任何人都可以建议我在集合中的所有文档中添加特定密钥的正确查询。
答案 0 :(得分:1)
如示例文档中所述,
$sum
仅适用于整数,长整数和浮点数。现在,没有运算符可以将字符串解析为数字,尽管这非常有用。您可以自己执行此操作,如Mongo中所述,转换存储为字符串Mongo convert all numeric fields that are stored as string
您可以参考以下答案以获取更多详情: - MongoDB - Aggregate Sum