Conexión a nuestra instancia Mongo mediante la CLI, puede utilizar los operadores de actualización modificadoras bien:con los operadores de modificador en el Mongo CLI funciona pero no de código usando Node.js mangosta
db.users. update ({nickname: 'mcoalson'}, {"$ addToSet": {room_ref: "b"}}) db.users.update ({nickname: 'mcoalson'}, {"$ addToSet": {room_ref: " c "}}) db.users.findOne ({apodo: 'mcoalson'}) { "_id": ObjetoID (" 4de5e9e982e9556c2a000003"), "apodo": "mcoalson", "room_ref": [ "a", "d", "b", "c" ] }
Sin embargo haciendo exactamente lo mismo en los Node.js en el mismo documento no hay resultados.
db.User.update({'nickname': 'mcoalson'}, {"$pullAll": {'room_ref': ["b"]}});
db.User.update({'nickname': 'mcoalson'}, {"$addToSet": {'room_ref': "f"}});
"room_ref": [ "a", "d", "b", "c" ]
Claramente "b" no se eliminó y "f" no era adicional. He intentado todos los escenarios imaginables de citas que pude pensar, pero nada cambia. Puedo usar find() y findOne() del código node.js y estoy usando las mismas credenciales, ¿algún consejo?
¿Está seguro de que solo hay 1 documento en el archivo db con apodo 'mcoalson'? De lo contrario, debe pasar la opción 'múltiple' para actualizar más de un documento a la vez. –
Asegúrese de que su versión de mangosta esté actualizada. Hubo muchas correcciones de errores para 'actualizar' últimamente: https://github.com/LearnBoost/mongoose/commits/master –