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

MongoDB - सूची में शामिल अप्सर्ट

आप स्थितीय ऑपरेटर ("$") और एक अप्सर्ट को नहीं मिला सकते हैं; सम्मिलन के दौरान "$" को फ़ील्ड नाम के रूप में माना जाएगा। आप नए दस्तावेज़ों के लिए ऐसा नहीं कर सकते, केवल मौजूदा दस्तावेज़ के लिए।

मैंने इस तरह की संरचना का सुझाव दिया:

{"_id" : ObjectId("4c28f62cbf8544c60506f11d"),
"some_other_data":"goes here",
"trips": { 
    "2010-05-10":
       [{"lat":21.321231, "lng": 16.8783234, "updated_at": "Mon May 10 2010 15:24:35"}, 
        {"lat":21.321231, "lng": 16.8783234, "updated_at": "Mon May 10 2010 15:24:24"}],
    "2010-05-08": 
       [{"lat":21.324239, "lng": 16.8735234, "updated_at": "Mon May 8 2010 11:18:05"},
        {"lat":21.311234, "lng": 16.8743271, "updated_at": "Mon May 8 2010 11:17:55"}, 
        {"lat":21.321238, "lng": 16.8782219, "updated_at": "Mon May 8 2010 11:17:45"}]
    }
}

फिर आप इस तरह एक अपडेट जारी कर सकते हैं:

db.mycollection.update({application_id: "MyTestApp", "trips.2010-05-10":{$exists:true}},
                       {$push: {"trips.2010-05-10": {lat:11, lng:11} }}, 
                       true);

इसके परिणामस्वरूप डाला जा रहा है।

> db.mycollection.find()
{ "_id" : ObjectId("4c2931d17b210000000045f0"), 
    "application_id" : "MyTestApp", 
    "trips" : { "2010-05-10" : [ { "lat" : 11, "lng" : 11 } ] } }

और इसे फिर से चलाना आपको यह देता है:

> db.mycollection.find()
{ "_id" : ObjectId("4c2932db7b210000000045f2"), 
    "application_id" : "MyTestApp", 
    "trips" : { "2010-05-10" : 
        [ { "lat" : 11, "lng" : 11 }, 
          { "lat" : 11, "lng" : 11 } ] } }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:उसी दस्तावेज़ से डेटा का उपयोग करके दस्तावेज़ों को अद्यतन करना

  2. MongoDB 4.4.4 परिवर्तन स्ट्रीम एक से मेल खाने वाली फ़िल्टर की गई स्थिति के बजाय सभी दस्तावेज़ अपडेट लौटाता है?

  3. मैं किसी फ़ाइल को MongoDB में कैसे सहेजूँ?

  4. मोंगोडब:एक पदानुक्रमित वृक्ष संरचना संग्रहित करना?

  5. मैं कैसे जांचूं कि किसी अनुक्रमणिका का उपयोग किया जा रहा है या नहीं