请教一个node.js查询MongoDB报错问题
发布于 11 年前 作者 jie414341055 4222 次浏览 最后一次编辑是 8 年前
Status.get = function get(query, callback) {
    mongodb.open(function(err, db) {
        if(err) { 
            return callback(err); 
        }
        db.collection('Status', function(err, collection) {
            if(err) {
                mongodb.close();
                return callback(err);
            }
            collection.aggregate({$match:query}, {$group:{_id:"$result", cnt:{$sum:1}}}, function(err, docs) {
                mongodb.close();
                console.log(docs);  //此处没问题,输出的是一个object,其实是个数组
                callback(null, docs);  //只要有这句话就报错TypeError, number if not a function
            });
       });
    });
};

请问这个错误到底是什么造成的,现在无法返回查询结果。

7 回复

是不是callback有问题?

是的,就是callback的问题,但是我不知道哪里出了问题。o(╯□╰)o

@jie414341055你的callback怎么写的啊?

@UlricGan代码就是上边那部分,其他类似函数也是这样都没问题,只是查询方式不同,只有这个有问题。

@UlricGan我输出了一下typeof callback,发现是个number,这是个什么情况o(╯□╰)o

@UlricGan问题解决了,函数调用的时候手残了= =多谢关注。

回到顶部