MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongo peut-il modifier les données du tableau ?

Je viens de rencontrer ce problème moi-même. Je n'ai pas pu trouver de solution à un appel, mais j'ai trouvé une solution à deux appels qui fonctionne lorsque vous avez une valeur unique dans les éléments de votre tableau . Utilisez le $pull commande d'abord, qui supprime les éléments d'un tableau, puis $push .

db.soup.update({
    "tester":"tom"
}, {
    $pull: {
        'array': {
            "id": "3"
        }
    }
})
db.soup.update({
    "tester":"tom"
}, {
    $push: {
        'array': {
            "id": "3",
            "letter": "d"
        }
    }
})

Cela devrait fonctionner lorsque le document n'existe pas, lorsque le document existe mais que l'entrée dans le tableau n'existe pas et lorsque l'entrée existe.

Encore une fois, cela ne fonctionne que si vous avez quelque chose, comme le id dans cet exemple, qui doit être unique parmi les éléments du tableau.