sql >> Base de Datos >  >> NoSQL >> MongoDB

Elemento de matriz de actualización de MongoDB

Has ido demasiado profundo con ese comodín $ . Coincide con un elemento en los Fields matriz, por lo que obtiene acceso a eso, con:Fields.$ . Esta expresión devuelve la primera coincidencia en sus Fields matriz, por lo que llega a sus campos por Fields.$.Field o Fields.$.Result .

Ahora, actualicemos la update :

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

Tenga en cuenta que he acortado la query ya que es igual a su expresión.