Подключаясь к нашему экземпляру Mongo с помощью CLI, вы можете прекрасно использовать операторы модификатора обновления:
db.users.update ({nickname: 'mcoalson'}, {"$ addToSet": {room_ref: "b"}}) db.users.update ({псевдоним: 'mcoalson'}, {"$ addToSet": {room_ref: "c"}}) db.users.findOne ({псевдоним: 'mcoalson'}) {"_id": ObjectId ("4de5e9e982e9556c2a000003"), "псевдоним": "mcoalson", "room_ref": ["a", "d", "b", "c"]}
Однако, делая то же самое в файле node.js в том же документе, результатов нет.
db.User.update({'nickname': 'mcoalson'}, {"$pullAll": {'room_ref': ["b"]}});
db.User.update({'nickname': 'mcoalson'}, {"$addToSet": {'room_ref': "f"}});
"room_ref": ["a", "d", "b","c"]
Ясно, что "b" не был удален, а "f" не был добавлен.Я перепробовал все возможные сценарии цитат, о которых только мог придумать, но ничего не изменилось.Я могу использовать find () и findOne () из кода node.js и использую те же учетные данные, любой совет?