Tengo un método PATCH para que mi API actualice el contenido de la base de datos en MongoDB. El esquema de la base de datos tiene una estructura anidada y la actualización mediante el siguiente método está reemplazando todo el conjunto donde se eliminan pocos campos.
La estructura DB parece
{ _id : ObjectId(1234...), name : "name", age : 30, levelone : [{ "levelone": [{ "name": "name1", "status": 1 }, { "name": "name2", "status": 2 }, { "name": "name3", "status": 1 }], "levelone": "one", "levelonename": "abcdefgh" }, { "leveltwo": [{ "name": "name1", "status": 1 }, { "name": "name2", "status": 2 }], "levelone": "two", "levelonename": "asdadadasd" }] }la estructura del documento de actualización se parece a
{ _id : ObjectId(1234...), name : "name", age : 30, levelone : [{ "levelone": [{ "name": "name1", "status": 1 }, { "name": "name2", "status": 2 }, { "name": "name3", "status": 1 }] }, { "leveltwo": [{ "name": "name1", "status": 1 }, { "name": "name2", "status": 2 }] }] }La consulta del nodo js MongoDB parece
findByIdAndUpdate({'_id': id},{$set: updateObject});la consulta elimina los valores levelone y levelonename y reemplaza levelone.levelone, solo quiero actualizar los valores del objeto levelone solo. por favor avise