我正在为nodejs使用mongodb驱动程序。
我在使用聚合时遇到了一些问题。
错误是
{“name”:“mongoerror”,“message”:“未知组运算符”
''u id','ok':0,“errmsg”:“未知的组运算符''u id','code':15952}
对于以下脚本:
MongoClient.connect(url, function (err, db) {
if (err)
{
console.log('Unable to connect to the mongoDB server. Error:', err);
return;
}
var collName = "order";
var whereParas = {};
var groupParas = {"_id":null,total:{$sum:"$Value"}};
var havingParas = {};
db.collection(collName).aggregate(
[
{ $match: whereParas },
{
$group: { groupParas}
},
{ $match: havingParas }
]).toArray(function (err,result) {
console.log("err");
console.log(err);
console.log("result");
console.log(result);
});
});
使用的数据
期望的输出是值的总和。
在sql中,我会写:
Select Sum(Value) From order
最佳答案
组管道应该是{ $group: groupParas }
而不是{ $group: { groupParas } }
,因此当mongo试图将嵌套文档作为_id
组运算符来解释时,您得到的错误是win the object。
关于node.js - MongoError未知组运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37525879/