2011-01-16 9 views
9

मैं अपने संग्रह में इस struct है अंदर लगता है? यह db.my_collection.find({baz : {a : 1, b : 2});एक हैश MongoDB

काम नहीं करता है, मुझे कोई परवाह नहीं है कि "सी" "fafofu" या "cacocu" महत्वपूर्ण नहीं है।

उत्तर

19

आप बाज़ ऑब्जेक्ट तक पहुंचने के लिए . का उपयोग कर सकते हैं।

db.my_collection.find({"baz.a" : 1, "baz.b" : 2}); 
+0

बहुत बहुत धन्यवाद। – Mantovani

+2

@ मंटोवानी: अगर इस उत्तर ने आपकी समस्या हल की है, तो आपको इसके आगे "टिक" प्रतीक पर क्लिक करके इसे स्वीकार करना चाहिए। – thkala

0

शायद अगर आप कोशिश निम्नलिखित

{foo : 1, bar : 4, a: ["1"], b: ["2"], "c": ["fafofu"]} 

आप find/findOne इस्तेमाल कर सकते हैं:

print(db.???.findOne({ c: "fafofu" }).foo); 

http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo

दुर्भाग्य से मैं इस परीक्षण करने के लिए की क्षमता नहीं है।

print(db.???.baz.findOne({ c: "fafofu" }).foo); 

मेरे समस्या डेटा खोजने का तरीका, becauase अगर आप कुंजी नहीं जानता कि यह अपनी खोज के प्रदर्शन का अनुकूलन करने के लिए मुश्किल है। क्या आप सहमत नहीं होंगे?

+8

मैं समझता हूं कि दुनिया के अधिकांश लोग मूल अंग्रेजी बोलने वाले नहीं हैं (मैं एक नहीं हूं), लेकिन यह पसंद है या नहीं, अंग्रेजी _is_ आईटी उद्योग के लिंगुआ फ़्रैंका। आपको अपने उत्तर को अंग्रेजी में अनुवाद करने पर विचार करना चाहिए ताकि हममें से बाकी इसे पढ़ सकें और उस पर टिप्पणी कर सकें। – thkala

+2

सभी उत्तरों को यहां अंग्रेजी में प्रदान किया जाना चाहिए। सौभाग्य से मैं लगभग एक दशक तक ब्राजीलियाई पुर्तगाली बोल रहा हूं इसलिए मैं आपके लिए इसका अनुवाद करने में सक्षम था। अगर मैं आपका अर्थ बिल्कुल सही नहीं लेता हूं तो मैं क्षमा चाहता हूं। – Sampson

+2

@ जोनाथन सैम्पसन: इस – thkala