sql >> Database teknologi >  >> NoSQL >> MongoDB

Fjernelse af et underdokument fra array i MongodDB

Dit eksempel fungerer fint:

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();

Udgange:

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

Selvom jeg var nødt til at ændre ObjectID'et for pullen lidt, da det oprindeligt brugte en anden streng mellem dine simple og fulde versioner af dokumentet.




  1. Sammenligning af implementeringsmønstre for MongoDB

  2. Installer mongodb på mac os 10.15 til php7

  3. Redis:Sådan parses et listeresultat

  4. MongoDB forskel mellem fejlkode 11000 og 11001