我有这样的模特
UNION ALL
我想删除 abc 字段
这里使用的是代码,但对我不起作用(另外,我正在使用批处理写入来更新多个文档)。
{
"actions": [
{
"type": "1",
"value": {
"abc": {
"1": "true"
},
"def": {
"1": "true"
}
}
}
]
}
我也尝试过这样,但结果相同
// getScene's data received from firestore
let batch = this.firebase.firestore().batch();
getScene.forEach(o => {
let removeDeviceFromScene = this.sceneDoc.doc(o.id);
const fieldPath = `actions.value.abc`;
batch.update(removeDeviceFromScene, {
filePath: this.firebase.firestore.FieldValue.delete()
}
}); await batch.commit().then(() => {
console.log(`Begin write batch`);
});
我的代码有问题吗,这个问题有解决方案吗?
预先感谢
答案 0 :(得分:0)
我之前说的是不正确的。无法更新Firestore文档中数组中的单个元素。参见How to Add/Update/Remove array elements in firebase firestore android using Hashmap? A Store Database
由于 (obj as B).year
是一个数组,因此您需要指定要更新的元素的数组索引。因此:actions