Если обновление вы пытаетесь сделать:
let qty = 2
orderRef.update({"abc-variable.qty": qty});
Но тогда, где abc-variable
- это значение переменной, вы должны сделать:
let qty = 2
let variable = "abc-variable";
var values = {};
values[variable] = qty;
orderRef.update(values);
Обновление
Этот код обновляет только избранное:
var variableObjectName = "favorites";
var qty = Date.now(); // just so it changes every time we run
var field = {quantity:qty};
var obj = {};
obj[variableObjectName] = field;
ref.update(obj);
Не удаляет другие свойства документа.
Обновление 2
Чтобы обновить одно поле во вложенном объекте, используйте .
для адресации поля:
ref.update({ "favorites.quantity": Date.now() });
См. документацию по обновлению полей во вложенных объектах .
Обновление 3
Чтобы выполнить глубокое обновление поля, имя которого хранится в переменной:
var name = "favorites";
var update = {};
update[name+".quantity"] = Date.now();
ref.update(update);
Еще раз показано в: https://jsbin.com/wileqo/edit?js,console