firebase - 如何在javascript中删除firestore中索引处的数组元素
问题描述
var arr = [ "GKRLrcpSL2BmKx3BfvWj","fMwH404fweoFJJqyE5Nf" , "DTurwbw64CWw4WosUQtC" ] //
arr.forEach((element) => {
console.log(element);
db.collection("Check").doc(element).get().then((docs) => {
var data = docs.data();
var arr = data.fill;
arr.forEach((item) => {
if(item['check'] == 'a') {
db.collection("Check").doc(element).update({
fill: firebase.firestore.FieldValue.arrayRemove('check')
}).then((val) => {console.log("Updated")})
}
});
});
});
我有一个包含数组填充的集合检查,并且填充中有对象我想匹配填充中的数据并删除在firestore中索引的值
解决方案
FieldValue.arrayRemove()
仅适用于要删除的数组项的完整值。它不适用于按索引删除项目。事实上,Firestore 并没有提供任何方法来通过索引直接修改数组项。
相反,您需要做的是读取文档,根据需要修改内存中的“填充”数组,然后使用新值将文档更新回文档。
推荐阅读
- sql - 在oracle文件加载中是否可以将表名作为文件名
- javascript - 如何从文本文件中读取并将其显示为 html 中的下拉列表(选择)
- javascript - 如何在 React.js 中使用获取的数据过滤数组?
- google-sheets - 阻止 Google 表格重新格式化/构建单元格公式
- android - 如何检查安卓设备的连接状态?
- kubernetes - Kubernetes LoadBalancer Service 不是负载均衡请求
- python - 在 python 中使用 pandas 进行 vlookup
- sql-server - 带有动态查询的“INSERT EXEC 语句不能嵌套”
- php - 如何在 php 中使用按钮运行 casperjs 代码
- multisite - Processwire 具有多个数据库的多站点:字段同步