Creo que podría haber mejores formas de almacenar datos, pero la aplicación en la que estoy trabajando tiene algunos datos almacenados de esta manera.
Tengo un documento con matrices anidadas. En este ejemplo particular, ¿sería posible agregar un nuevo elemento "value3" a una matriz dentro de los productos cuyo "productId" coincida con la condición? Entonces, básicamente busque productId y agregue "value3" a la matriz que tiene "productId" coincidente.
Estoy aprendiendo sobre MongoDB, por lo que si puede proporcionar algunas sugerencias para cambiar el esquema, incluso eso sería muy útil.
PD: no estoy seguro de si ayuda, pero estoy usando node.js
{"_id": {"$oid":"601baf0e5c307422c0fa958c"}, "sale":"Test Sale", "products":[ [ ["productId","value1","value2"], ["productId","value1","value2"] ], [ ["productId","value1","value2"], ["productId","value1","value2"] ], [ ["productId","value1","value2"], ["productId","value1","value2"] ] ], "collectionProducts":["id","id","id"] }Tal vez algo como esto:
db.store.update({},{$push:{"products.$[].$[k]":"value3"}},{ arrayFilters: [{ k:'productId' }]})