sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man tar bort ett djupt kapslat objekt i mongodb

Jag tog ett hugg på det och det ser ut som att det du försöker göra ska fungera korrekt. Jag skulle kontrollera din fråga för att hitta rätt dokument att uppdatera och se till att det hittar det du vill ha.

> db.books.findOne()
{
        "_id" : "1234567890",
        "title" : "Lord Of The Rings",
        "books" : {
                "1234567890" : {
                        "_id" : "123456789890",
                        "title" : "The Two Towers",
                        "page_count" : {
                                "en" : 6000,
                                "de" : 7000
                        }
                },
                "2234567890" : {
                        "_id" : "223456789890",
                        "title" : "The Return Of The King",
                        "page_count" : {
                                "en" : 6000,
                                "de" : 7000
                        }
                }
        }
}
> db.books.update({'_id': "1234567890"}, {$unset: {'books.2234567890.page_count': ""}})
> db.books.findOne()
{
        "_id" : "1234567890",
        "books" : {
                "1234567890" : {
                        "_id" : "123456789890",
                        "title" : "The Two Towers",
                        "page_count" : {
                                "en" : 6000,
                                "de" : 7000
                        }
                },
                "2234567890" : {
                        "_id" : "223456789890",
                        "title" : "The Return Of The King"
                }
        },
        "title" : "Lord Of The Rings"
}
>



  1. MongoDB $elemMatch $in

  2. En översikt över MongoDB Schema Validering

  3. Spring Data - MongoDB:Det går inte att hämta DBRef-dokument som tillhör en annan databas

  4. Hur man kapslar samma schema i mongoose js