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

时间:2015-02-05 23:00:52

标签: ruby mongodb

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

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

我的问题是我的收藏包含大量文件而且发现非常慢。 所以我想知道我是否可以限制最后x个插入文件的查询? 像这样:

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

谢谢,对不起我的英语。

1 个答案:

答案 0 :(得分:0)

您无法在查询时执行此限制。但是你可以为这种效果设置一个单独的caped集合。

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

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

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