firebase - 从 Firebase Firestore 中的嵌套地图对象中删除数组项
问题描述
我试图弄清楚我将如何去删除和添加到对象数组中的配置文件数组。我有 id 可以访问数组中的适当项目,但看起来我只能更新整个根数组项目。
doc().update({
technologyLearned: firebase.firestore.FieldValue.arrayRemove("?")
});
如果这是一种普通语言,我可以通过 technologyLearned[id].profiles[profileid] 找到我需要删除或添加的项目。
解决方案
由于您无法索引数组来定位要删除的项目,因此您必须读取整个文档,修改内存中的数组,然后将其写回文档。
这里的问题是这technologiesLearned
是一个数组(不是profiles
一个数组)。如果profiles
没有嵌套在数组下,你可以使用它。technologiesLearned
arrayRemove
推荐阅读
- ansible - Ansible - 从清单主机名定义的变量列表中的项目列表
- c++ - 英特尔 C++ 编译器 (19.0) 现在是否只使用 Clang 前端(即已经放弃 EDG)?
- python - Python中奇怪的字符串格式
- python - django modeladmin中的django多表继承
- extjs - Extjs Grid ApplyState not reflecting the changes | Hide issue
- go - go - 如何从x509证书公钥中获取字符串?
- angular - 在 for 循环中动态设置样式
- c# - 如何使用 RabbitMQ 官方客户端异步发布和接收消息?
- api - 从 reddit api 获取时如何修复“错误 503 cdn 错误”?
- java - 如何在 Firebase 数据库 Android 上获取具有相似子节点的所有父节点?