我如何在MongoDB中执行此查询?

时间:2011-03-31 01:13:36

标签: mongodb indexing database

假设我在数据库中有很多“帖子”作为文档,每个文档都有一个“作者”属性。

我想执行这样的查询:

posts.find(author IN 3, 5, 733, 144, 66, 3457 , 22, 156, 344...)

基本上,我想找到作者所在的所有帖子.....然后给出一百个ID。

在Mongo中执行此操作的最有效方法是什么?

1 个答案:

答案 0 :(得分:3)

使用Mongo的$in运算符:

posts.find({"author" : {"$in":[3, 5, 733, 144, 66, 3457 , 22, 156, 344]}});

以下是参考:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24in

您也应该为作者字段编制索引:posts.ensureIndex({author:1});