【问题标题】:MongoError unknown group operatorMongoError 未知组运算符
【发布时间】:2016-05-30 12:37:54
【问题描述】:

我正在为 NodeJS 使用 MongoDb 驱动程序。

我在使用聚合时遇到问题。 错误是

{"name":"MongoError","message":"未知组操作符 '_id'","ok":0,"errmsg":"未知组运算符'_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

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    组管道应该是{ $group: groupParas } 而不是{ $group: { groupParas } },因此当Mongo 试图解释嵌套文档时你得到的错误将对象作为_id 组运算符。

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 2019-03-28
      • 2018-10-09
      • 1970-01-01
      相关资源
      最近更新 更多