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

Élément de tableau de mise à jour MongoDB

Vous êtes allé trop loin avec ce joker $ . Vous recherchez un élément dans les Fields tableau, vous obtenez donc un accès à celui-ci, avec :Fields.$ . Cette expression renvoie la première correspondance dans votre Fields tableau, vous atteignez donc ses champs par Fields.$.Field ou Fields.$.Result .

Maintenant, mettons à jour la update :

db.test.update({
    "Fields.Field": "Lot No"
}, {
    $addToSet: {
        "Fields.$.Rules": {
            'item_name': "my_item_two",
            'price':1
        }
    }
}, false, true);

Veuillez noter que j'ai raccourci la query car il est égal à votre expression.