Как мне сделать этот запрос в MongoDB? - PullRequest
1 голос
/ 31 марта 2011

Предположим, у меня есть много "постов" в базе данных в виде документов, каждое с атрибутом "автора".

Я хочу выполнить такой запрос:

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

Basicaly,Я хочу найти все сообщения, где автор ..... и затем указать сто идентификаторов.

Какой самый эффективный способ сделать это в Монго?

1 Ответ

3 голосов
/ 31 марта 2011

Используйте оператор Монго $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});

...