2011-10-10 6 views
43
XML में संग्रह जैसे दस्तावेज़ों का चयन करने के लिए mongo db में

संभव है:MongoDB का चयन करें जहां _id की सरणी में?

SELECT * FROM collection WHERE _id IN (1,2,3,4); 

या यदि मेरे पास _id array है तो मुझे एक-एक करके चयन करना होगा और फिर परिणामों के array/object को पुन: संकलित करना होगा?

उत्तर

76

आसान :)

db.collection.find({ _id : { $in : [1,2,3,4] } }); 

से लिया: http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24in

+0

हम अभी भी लाभ मिलता है अनुक्रमण का? उस मामले में आईडी सादा तार के रूप में पारित कर रहे हैं ... –

+1

आप करते हैं। हालांकि समय जटिलता रैखिक (एन) है, लॉगरिदमिक/स्थिर नहीं है। सूचकांक के बिना यह^^ 2 होगा। –

+0

@ पेट्रब्राज़िल का मतलब है कि अगर मेरे डेटाबेस को 1 मिलियन रिकॉर्ड मिलते हैं, तो ... – diegoaguilar

2

list is a array of ids

इस कोड को सूची में उपयोगकर्ता संग्रह में आईडी की सरणी है

var list = ["5883d387971bb840b7399130","5883d389971bb840b7399131","5883d38a971bb840b7399132"] 

    .find({ _id: {$in : list}})