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

मोंगोडीबी, मौजूदा एम्बेडेड दस्तावेज़ में एकाधिक स्तर डॉट नोटेशन के साथ नया {फ़ील्ड:मान} जोड़ें?

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

उदा. आपको यह करना होगा:

db.my_collection.update( 
    {'websites.blog_posts.url': 'http://www.example.com/01.html' },
    {'$set': {'websites.$.blog_posts.$.impressions': 549}},
     true );

लेकिन अपडेट में दो पोजीशन ऑपरेटर्स का होना संभव नहीं है क्योंकि MongoDB केवल पहले ऐरे में किसी एलीमेंट की स्थिति निर्धारित कर सकता है।

आपका एकमात्र विकल्प उपयोगकर्ता वेबसाइटों का एक समर्पित संग्रह करने के लिए अपनी स्कीमा को फिर से डिज़ाइन करना है (जो इस मामले में अन्य कारणों से भी बेहतर है)।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mgo . के साथ एक प्रकार की मैपिंग लागू करें

  2. Mongodb 4:mongod.service प्रारंभ करने में विफल:इकाई mongod.service नहीं मिला

  3. क्या जे =1 और डब्ल्यू =बहुमत के साथ सेट मोंगोडीबी प्रतिकृति पर रोलबैक अभी भी हो सकता है?

  4. PHP के साथ MongoDB कुल - तिथि के अनुसार समूह

  5. मैं ट्विटर के स्ट्रीमिंग एपीआई से ट्वीट्स का उपभोग कैसे कर सकता हूं और उन्हें मोंगोडब में स्टोर कर सकता हूं