1
假設我在數據庫中有許多「帖子」作爲文檔,每個文檔都有一個「作者」屬性。如何在MongoDB中執行此查詢?
我要執行這樣的查詢:
posts.find(author IN 3, 5, 733, 144, 66, 3457 , 22, 156, 344...)
Basicaly,我想找到的所有帖子這裏筆者.....然後給百IDS。
在Mongo中最有效的方法是什麼?
假設我在數據庫中有許多「帖子」作爲文檔,每個文檔都有一個「作者」屬性。如何在MongoDB中執行此查詢?
我要執行這樣的查詢:
posts.find(author IN 3, 5, 733, 144, 66, 3457 , 22, 156, 344...)
Basicaly,我想找到的所有帖子這裏筆者.....然後給百IDS。
在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});
是這有效嗎?如果人們追隨數千人呢? – TIMEX 2011-03-31 04:10:39
@TIMEX - 我最近做了一些測試,這似乎表明在$ in子句中存在一個「最佳點」值(即值的數量較少/查詢的數量較多,值較高/數值較低查詢數量) - 請參閱我的答案在這裏的詳細信息:http://stackoverflow.com/questions/5157265/is-it-ok-to-query-a-mongodb-multiple-times-per-request/5157425 – AdaTheDev 2011-03-31 07:48:46