首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python - Cloud Firestore -将数据追加到子集合

python - Cloud Firestore -将数据追加到子集合
EN

Stack Overflow用户
提问于 2019-03-11 08:00:46
回答 1查看 1.6K关注 0票数 1

是否可以使用python firebase admin sdk将数据附加到云firestore数据库中的子集合?如果是这样的话,我错过了什么?

我正在尝试将数据附加到位于googles云firestore中的特定文档的子集中-而不是实时数据库。我已经做了大量的研究,到目前为止,这是最流行的资源:add data to firestore,它并没有明确表示这是不可能的

我能够创建文档、阅读文档等,但在没有获得整个文档的情况下,我似乎无法追加或访问子集合

我的代码流程如下:

代码语言:javascript
复制
import time
import json
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
from firebase_admin import firestore

#authentication
cred = credentials.Certificate('key.json')
app = firebase_admin.initialize_app(cred)

cloudDb = firestore.client()    #open connection. uses 'app' implicitly
doc = cloudDb.collection(collection).document(document)
data['date'] = firestore.SERVER_TIMESTAMP
data['payload'] = [0,1,2,3,4,5]
doc.collection("data").set(data)   #*

#--testing (collection)
# |
#----docId  (document)
#   |
#------company (field)
#------accountinfo(field)
#------data (subcollection)
#     |
#--------date (field)
#--------payload (array)

但是,在最后一行(带星号的行)执行此操作失败,并显示以下错误:

代码语言:javascript
复制
('Cannot convert to a Firestore Value', <object object at 0xb6b07e60>, 'Invalid type', <class 'object'>)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-11 08:33:55

好了,多亏了Doug让我写了一个可以在另一台机器上运行的脚本,我自己的问题就解决了。我的问题是试图将集合设置为我的数据对象,而不是在集合中创建一个文档并进行设置。即:

代码语言:javascript
复制
doc.collection("data").set(data)  #error

doc.collection("data").document().set(data)  #success
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55093646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档