MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

वस्तु की सरणी में MongoDB क्वेरी

यह एक साधारण क्वेरी के साथ नहीं किया जा सकता है। आपको कर्मचारियों.विभागों पर लूप करना होगा और प्रत्येक पुनरावृत्ति के लिए अपने विभागों_आईडी को एक सरणी में जोड़ना होगा। यह सरणी तब आप अपनी दूसरी पंक्ति में उपयोग कर सकते हैं। यह आपकी पसंद की भाषा में किया गया सबसे अच्छा काम है।

इसे आसान बनाने के लिए, आपको अपनी स्कीमा बदलनी होगी। एक विकल्प विभाग की जानकारी को कर्मचारी रिकॉर्ड में संग्रहीत करना है, लेकिन आपके मामले में आप बहुत सारे डेटा की नकल कर रहे होंगे।

इसके बजाय मैं सुझाव दूंगा कि प्रत्येक विभाग में कर्मचारी आईडी और तारीखों के साथ एक सूची इस तरह हो:

{
        "_id" : ObjectId("4f9643957f8b9a3f0a000004"),
        "dept_name" : "Marketing",
        "managers" : [
        ]
        "employees" : [
            {
                    "employee_id" : ObjectId("4f9643967f8b9a3f0a00005a"),
                    "from_date" : "1990-01-03",
                    "to_date" : "1990-01-15"
            }
        ]
}

उस स्थिति में, आप तब बस दौड़ सकते हैं:

db.departments.find( { "employees.employee_id": ObjectId("some_id") } );


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी:बीएसओएन से जेएसओएन

  2. MongoEngine के साथ संग्रह नाम निर्दिष्ट करना

  3. मतदान के लिए मोंगो डेटा मॉडलिंग/अपडेट (ऊपर और नीचे)

  4. ईबीएस भंडारण के लिए एडब्ल्यूएस ईसी 2 इंस्टेंस पर स्थापित मोंगोडीबी का भंडारण स्थान सेट करें। और इंस्टेंस बंद/समाप्त होने के बाद मैं इसे कैसे पुनर्प्राप्त कर सकता हूं?

  5. MongoDB:एक ही कमांड के साथ कई दस्तावेज़ कैसे अपडेट करें?