0

批量查询mongo集合的最有效方法是什么?例如在 SQL 中,我会做类似的事情:

SELECT * FROM Foo WHERE id > {{floor}} limit 1000;

我发现我可以做一些这里概述的事情

但是关于跳过的大警告让我认为我不应该使用它。(假设集合足够大,足以影响它)。

除了自动生成的 _id 字段外,我的收藏没有任何索引。我不确定是否有办法使用它和 $gt $lt.

如果这很重要,我将使用 Casbah 驱动程序,以防内置秘密酱汁。

4

1 回答 1

2

该 SQL 查询到 mongo 的字面翻译是

db.foo.find({"id": {"$gt": floor}}).limit(1000)

此查询可以由字段上的索引提供(或者如果您使用该列而不是 named 列,id则由默认索引提供)。_idid

没有性能问题limit(),但是skip()对于非常大的值,性能可能会很差,因为服务器本质上需要遍历大量记录,然后才能开始向您返回结果。

于 2012-04-04T21:10:53.073 回答