在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