javascript - Firebase 删除一个数组项
问题描述
我想从 Firestore 中的数组中删除一个值。我正在使用 firebase 功能,并在删除用户后更新此字段。我尝试过更新数组,尝试过 arrayRemove 以及其他各种行。因为每次我想运行测试时都必须进行部署,所以每次都很难构建和删除数据。
所以我希望有人可以帮助我在这里找到这个解决方案:
我想遍历一个 ID 列表(数据库中的用户)并提取他们的匹配项,并从他们的匹配项列表中删除一个特定的 ID。
当我运行它时,它不知道是什么firebase.firestore
。所以我不确定如何使用这种类型的FieldValue.delete()
. 这部分的目标是什么?“admin.FieldValue.delete()”?
admin.firestore()
.collection("Users")
.doc(matches[i])
.update({
[userId]: firebase.firestore.FieldValue.delete(),
});
我也试过这个:
admin
.firestore()
.collection("Users")
.doc(matches[i])
.update({
matches: admin.firebase.firestore.FieldValue.arrayRemove(userId),
});
但它又不知道是什么firebase.firestore
。从数组中删除一个值的正确方法是什么?
此外,我担心在 for 循环中进行标注,但我没有看到解决方法。有没有人有什么建议?这些不需要是异步的,因为所有事务都不相互依赖。
我在 firebase 函数中收到的错误消息:
ReferenceError:未定义firebase
解决方案
如果您像这样导入 Admin SDK:
const admin = require("firebase-admin");
你会想要使用admin.firestore.FieldValue.delete()
. 相同的模式arrayRemove()
。
推荐阅读
- c# - Wpf LoadComponent 在尝试加载 app.xaml 时抛出 IoException
- python - imaplib.error:命令 SEARCH 在状态 AUTH 中非法
- javascript - 如何将 javascript 对象数组文件转换为自定义 json 文件
- java - SpringBoot - activiti - 获取活动任务列表
- gitlab - gitlab-ci.yml 在合并请求期间 rebase 后未正确重新加载
- java - can we achieve 100 percent Abstaction using Dependency inversion principle?
- cakephp-3.0 - 如何避免 _matchingData 并改为获取特定值
- java - 在 Kotlin 的同一个 Activity 中动态传递数据
- python - Brainfuck中优化的细胞增加
- dynamic - 带有“函数体返回 PL/SQL”的交互式网格列给出了引用列的错误(错误?)