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

उल्का मोंगो अद्यतन नेस्टेड सरणी

तो यहां कहने वाली पहली बात यह है कि $elemMatch आपके मामले में आवश्यक नहीं है क्योंकि आप केवल एक ही सरणी संपत्ति पर मिलान करना चाहते हैं। आप उस ऑपरेटर का उपयोग तब करते हैं जब आपको अपनी शर्तों से मेल खाने के लिए एक ही सरणी तत्व से "दो या अधिक" गुणों की आवश्यकता होती है। अन्यथा आप मानक के रूप में केवल "डॉट नोटेशन" का उपयोग करें।

यहां दूसरा मामला $push . के साथ है , जहां उस विशेष ऑपरेटर का अर्थ सरणी में तत्वों को "जोड़ना" है। आपके मामले में आप बस "अपडेट" करना चाहते हैं, इसलिए यहां सही ऑपरेटर है $set :

Activity.update(
    { "_id": activityId, "usersActivities.userId": Meteor.userId() },
    {
        "$set": {
            'usersActivities.$.startDate': start,
            'usersActivities.$.endDate': end
        }
    }
)

तो स्थितीय $ ऑपरेटर यहाँ है जो सरणी तत्व से "मिला सूचकांक" से मेल खाता है और $set . की अनुमति देता है उस "स्थिति" से मेल खाने वाले तत्वों को "बदलने" के लिए ऑपरेटर।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में किसी संपत्ति के आधार पर नेस्टेड सरणी ऑब्जेक्ट अपडेट करें

  2. सॉल्टस्टैक के साथ मोंगोडीबी को स्वचालित करना

  3. मोंगोडीबी $सेकंड

  4. ClusterControl 1.5 दस्तावेज़ीकरण - नया क्या है

  5. MongoDB में/से जावास्क्रिप्ट ऑब्जेक्ट्स को संग्रहीत करना और पुनर्प्राप्त करना