Update вложенная коллекция в метеора не является проблемой (и это описано здесь: Updating a nested property on a collection object with $set)Когда обновление вложенные коллекции в метеор, как передать переменную пути обновления
Основной способ сделать это:
Collection.update({sel}, {"$set" : {"address.city": "new address"}});
Но что, если я хочу описать свой путь переменными?
Это один явно не работает:
var cityName = "NYC";
Collection.update({sel}, {"$set" : {"address." + cityName: "new address"}});
К сожалению, это одна не работает либо:
var path = "address.NYC";
Collection.update({sel}, {"$set" : {path: "new address"}});
Ни делает это один:
var object = {"address.NYC": "new address"};
Collection.update({sel}, {"$set" : object});
Ну, на самом деле, это работает, но не так, как я этого хочу. Он полностью заменяет объект «адрес», удаляя другие свойства.
Любые идеи?
Есть ли способ выбрать поле, которое я хочу обновить в части запроса?
работал отлично; спасибо большое :) Но я не уверен, чтобы понять разницу между этой и моей последней попыткой. Могли бы вы объяснить ? – fabien
Отлично - я рад, что помог. Я не вижу ничего плохого в вашей последней попытке. Построение объекта и использование литерала должны быть одинаковыми (минус использование переменной). Возможно, вы что-то угадали. –