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

MongodDB में सरणी से एक उप-दस्तावेज़ हटाना

आपका उदाहरण ठीक काम करता है:

db.so.drop();
db.so.insert(
{
    "_id" : ObjectId("51ee899ec15d5aaff39d3353"),
    "first" : "first",
    "last" : "last",
    "email" : "email",
    "phone" : "555 555 5555",
    "userRole" : "su",
    "cards" : [
            {
                    "rfid_id" : ObjectId("51ee899ec15d5aaff39d3359")
            }
    ],
    "zones" : [
            {
                    "zone_id" : ObjectId("51ee899ec15d5aaff39d3357")
            }
    ]
});

db.so.update({}, {$pull:{ "cards": {"rfid_id": ObjectId("51ee899ec15d5aaff39d3359")}}}, false, false)
db.so.find().pretty();

आउटपुट:

{
    "_id" : ObjectId("51ee899ec15d5aaff39d3353"),
    "cards" : [ ],
    "email" : "email",
    "first" : "first",
    "last" : "last",
    "phone" : "555 555 5555",
    "userRole" : "su",
    "zones" : [
        {
            "zone_id" : ObjectId("51ee899ec15d5aaff39d3357")
        }
    ]
}

हालांकि मुझे खींचने के लिए ऑब्जेक्ट आईडी को थोड़ा बदलना पड़ा, क्योंकि यह मूल रूप से दस्तावेज़ के आपके सरल और पूर्ण संस्करणों के बीच एक अलग स्ट्रिंग का उपयोग कर रहा था।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. किसी अन्य फ़ील्ड के मान का उपयोग करके MongoDB फ़ील्ड को अपडेट करें

  2. MongoDB और Docker डॉकटर-कंपोज़ ऑथ एरर के माध्यम से और डीबी को इनिशियलाइज़ नहीं कर रहा है

  3. mongodb सभी डेटा सहेजता नहीं है

  4. उपयोगकर्ता कैसे बनाएं और MongoDB में भूमिका कैसे जोड़ें

  5. $ मानचित्र mongodb में अनुक्रमणिका के साथ $ concat फ़ील्ड?