MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Update-Array-Element

Sie sind mit diesem Platzhalter $ zu tief gegangen . Sie suchen nach einem Artikel in den Fields Array, also bekommt man Zugriff darauf, mit:Fields.$ . Dieser Ausdruck gibt die erste Übereinstimmung in Ihren Fields zurück Array, sodass Sie seine Felder über Fields.$.Field erreichen oder Fields.$.Result .

Lassen Sie uns nun das update aktualisieren :

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

Bitte beachten Sie, dass ich die query gekürzt habe wie es Ihrem Ausdruck entspricht.