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

नेस्टेड सरणी नेवला नोडज में तत्व पुश करें

अपनी क्वेरी में आप स्थितीय ऑपरेटर . का उपयोग कर रहे हैं ($ साइन) एक विशेष वीडियो को _id द्वारा स्थानीयकृत करने के लिए और फिर आप एक आइटम को रिपोर्ट में धकेलना चाहते हैं।

समस्या यह है कि MongoDB को यह नहीं पता है कि आप किस वीडियो को अपडेट करने का प्रयास कर रहे हैं क्योंकि आपने जो पथ निर्दिष्ट किया है ( Seasons.episodes.videos.$.reports ) में दो अन्य सरणियाँ (सीज़न और एपिसोड) शामिल हैं।

जैसा कि दस्तावेज़ीकरण में कहा गया है कि आप इस ऑपरेटर का एक से अधिक बार उपयोग नहीं कर सकते हैं

यह सीमा आपकी स्थिति को जटिल बनाती है। आप अभी भी अपनी रिपोर्ट अपडेट कर सकते हैं लेकिन आपको बाहरी सरणियों की सटीक अनुक्रमणिका जानने की आवश्यकता है। तो निम्नलिखित अद्यतन कार्य उदाहरण होगा:

db.movies.update({'seasons.episodes.videos._id': data._id}, {$push: {'seasons.0.episodes.0.videos.$.reports': data.details}})

वैकल्पिक रूप से आप इस दस्तावेज़ के बड़े हिस्से को node.js में अपडेट कर सकते हैं या तकनीकी सीमाओं को ध्यान में रखते हुए अपने स्कीमा डिज़ाइन पर पुनर्विचार कर सकते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. भविष्य के तैयार होने से पहले मेरा प्लेफ्रेमवर्क एक्शन लौटता है, मैं वेब पेज घटक को कैसे अपडेट करूं?

  2. एकत्रीकरण के दौरान MongoDB ISODate से सेकंड में यूनिक्स टाइमस्टैम्प प्राप्त करना

  3. सी # ड्राइवर का उपयोग कर मोंगोडब से डेटा पुनर्प्राप्त करें

  4. MongoDB रिएक्टिव स्ट्रीम अल्पाक्का मोंगो कनेक्टर ClassNotFoundException के साथ रन-टाइम निर्भरता त्रुटि

  5. MongoDB नेस्टेड सरणी में फ़ील्ड अपडेट कर रहा है