使用 ruby 驱动程序限制查找查询 MongoDB

Restrict a find query MongoDB with ruby driver

我有一个 mongo 查询,如下所示:

coll.find({ foo: bar }, {sort: { '$natural' => -1 }, limit: 1})

我的问题是我的 collection 包含大量文档,查找速度非常慢。 所以我想知道是否可以限制对最后 x 个插入文档的查询? 像这样:

coll.find({ foo: bar }, {sort: { '$natural' => -1 }, limit: 1, max_doc: 10_000})

谢谢,对不起我的英语。

您不能在查询时进行该限制。但是你可以有一个单独的 caped 集合来实现这种效果。

您在两者上插入并在 caped 集合上执行此查询,该集合将只保留最后 N 个文档。

但这仅适用于您不需要更新或删除该集合中的文档的情况。

http://docs.mongodb.org/manual/core/capped-collections