Я запустил этот документ firestore вручную с консоли, указав enabled как логический тип. Сейчас я создаю больше конструкций для его обновления в angular, см. Код ниже.
activateMenuItem(venueId: string, menuId: string, menuItemId, enabled: boolean) {
const update = {
'enabled': false
};
update.enabled = enabled;
const db = this.firestore.firestore;
from(db.collection('venues')
.doc(venueId)
.collection('menus')
.doc(menuId)
.collection('items')
.doc(menuItemId)
.update(update))
.subscribe(value => {
console.log("On next");
}, (error) => {
console.log("on error" + error);
});
}
Все работает правильно, однако, когда я устанавливаю для поля включено логическое значение, тип поля впоследствии изменяется на строку.
До
После
Дополнительный код того, как он вызывается.
onChange(enabled) {
console.log("Changing " + enabled);
this.service.activateMenuItem(this.venueId, this.menuId, this.menuItemId, enabled);
}