MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Elemento da matriz de atualização do MongoDB


Você foi muito profundo com esse curinga $ . Você corresponde a um item nos Fields array, então você tem acesso a isso, com:Fields.$ . Esta expressão retorna a primeira correspondência em seus Fields array, então você alcança seus campos por Fields.$.Field ou Fields.$.Result .

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

Observe que reduzi a query pois é igual à sua expressão.