如何在mongodb

时间:2017-03-24 06:22:56

标签: mongodb mongodb-query

在mongo db中需要逐个查询的帮助。我需要从与ID匹配的集合中找到不同的帐号:ABC_00000000003。

我写了下面的查询,但由于某种原因,它没有提取所有不同的记录。如果此查询中有任何错误,请更正我。

感谢您的帮助。

db.controlDocument.aggregate([{$match:{"ID": "ABC_00000000003"}}, {$group:{"_id": "$AccountNumber"}}])

在使用此查询之前,我使用了以下查询,但是当集合包含超过100万条记录时,它失败了。

db.controlDocument.distinct("AccountNumber", {"ID" : "ABC_00000000003"})

以下是我在Robo mongo中尝试超越不同查询时遇到的例外情况。即使在我的java程序中,我也面临类似的问题。在我的QA数据库中,我试图查询的集合包含280k记录,我的生产集合包含近100万条记录。需要一个更好的查询,可以在几秒内给出结果。所以我尝试编写一个聚合查询来获得相同的不同记录,但是如果我编写查询来拉取一些较小的结果集,我会看到这两个查询之间的计数差异。

Error: distinct failed: { "ok" : 0, "errmsg" : "distinct too big, 16mb cap", "code" : 17217 } :
DBCollection.prototype.distinct@src/mongo/shell/collection.js:1650:1
@(shell):1:1

0 个答案:

没有答案