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

एक एम्बेडेड दस्तावेज़ में MongoDB में एकल फ़ील्ड अपडेट करें

आप शायद पोजिशनल ऑपरेटर का इस्तेमाल कर सकते हैं सरणी तत्व की पहचान करने के लिए:

तो शायद कुछ ऐसा:

User.collection.update(
    { :_id => user.id, :matches => BSON::ObjectId('4e40238dbc9f6ec5a6000eed') },
    { :$set => { 'alert.matches.$' => matches } }
)

लेकिन जैसा कि सर्जियो ने नोट किया है, आपके प्रश्न में सीमित जानकारी के आधार पर आपके दस्तावेज़ों की संरचना को छेड़ना मुश्किल है।

ऐसा लगता है कि मेरे उत्तर देने के बाद और जानकारी आई और ऐसा लगता है:

{ :$set => { 'alerts.$.matches' => ... } }

वह है जो आपको चाहिए। और आपको :matches . को शामिल करना होगा क्वेरी में ताकि $ संदर्भित करने के लिए कुछ है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoid में एक एम्बेडेड दस्तावेज़ का संदर्भ कैसे लें?

  2. MongoDB स्कीमा डिज़ाइन - रीयल-टाइम चैट

  3. नेस्टेड सरणियों को अद्यतन करने के लिए स्थितीय `$` ऑपरेटर का एकाधिक उपयोग

  4. कैसे एकत्रीकरण ढांचे का उपयोग कर अन्य क्षेत्रों को शामिल किए बिना _id को बाहर करने के लिए

  5. मोंगोडब जावा एपीआई:WriteResult#getN ()