sql >> Database >  >> NoSQL >> MongoDB

Een subdocument uit de array verwijderen in MongodDB

Je voorbeeld werkt prima:

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

Uitgangen:

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

Hoewel ik de ObjectID voor de pull enigszins moest wijzigen, omdat het oorspronkelijk een andere string gebruikte tussen uw eenvoudige en volledige versies van het document.




  1. Wat is de standaard sessietime-out en hoe deze te configureren bij gebruik van de Spring Session met Redis als backend

  2. Mongo-uitzondering

  3. Hoe Mongo dwingen om leden in kleine letters op te slaan?

  4. Mongoengine:ConnectionError:U heeft geen standaardverbinding gedefinieerd