python-3.x - 更新firestore错误中的数组:AttributeError:'list'对象在Python中没有属性'items'
问题描述
我正在尝试使用来自 python 的字符串列表更新我的 Firestore 集合。
我的列表:
results = ['link1','link2']
我的 Firestore 文档是 01 Collection,文档如下:
链接(地图)----> List_of_all_links(数组)----> 这个列表应该有 2 个字符串 0:link1 1:link2
因为我使用 python 编码,所以我添加了这个:
db.collection(u'myjob').document(u'01').update(results)
错误:AttributeError:“列表”对象没有属性“项目”
现在,我的 Firestore 中有地图和数组,但没有字符串。有什么帮助吗?
解决方案
要更新数组元素,您需要使用arrayUnion()
添加数据和arrayRemove()
删除以前的数据。例如:
old_results = ['link1','link2']
new_results = ['link3','link4']
links_ref = db.collection(u'myjob').document(u'01')
# Add new data from array links
links_ref.update({u'links': firestore.ArrayUnion(new_results)})
# Remove old data from array links
links_ref.update({u'links': firestore.ArrayRemove(old_results)})
推荐阅读
- flutter - 如何在颤动中创建悬停按钮
- flutter - 有没有更好的选择无需编码即可将 xd ui 转换为颤振
- android - 如何将资产中的字体用于自定义键盘
- pointers - 是什么让 rust 中返回的引用字符串成为悬空指针?
- node.js - 部署在 Google Cloud App Engine 上的 socketIO nodejs 应用的粘性会话
- ruby-on-rails - 创建 ActiveRecord 对象的文本表示?
- python - 在 discord.py 中获取配置文件颜色
- python-2.7 - 安装 PyPI xmlsec==1.3.3 Python2 时出错
- java - RestTemplate.exchange 使用哪个构造函数从 json 实例化对象?
- python - Ubuntu进程在每个特定时间都被杀死