无法在mongodb中使用distinct获得唯一记录

时间:2018-11-15 10:06:01

标签: node.js mongodb

我有一个订阅集。它有大约800万条记录。我想基于phoneNumber获得唯一记录数。

由于mongo有distinct query可以从集合中获取唯一文档。

我执行以下查询:

db.getCollection('subscriptions').distinct('phoneNumber')

但是上面的查询抛出上限错误:

  

错误:明显太大,上限为16mb

然后我也尝试了聚合。我使用$group实现了这一目标。但是因为记录的数量是800万,所以没有给我记录。我等了很久,但一无所获。

这是我的汇总查询:

  subscription.aggregate([
        { $group: { _id: "$phoneNumber", subscribers: { $sum: 1 } } }
    ], function (err, docs) {
        if (docs) {
            console.log(docs);
            console.log(docs.length);
        }
    });

我该怎么做?

0 个答案:

没有答案