我正在尝试使用add()
方法将文档添加到Firestore中。根据文档的add()
方法,每个文档都会生成一个唯一的ID,并以任意随机顺序存储它,并且要以有序的方式存储它,我们需要将其存储到文档中的timestamp
字段中。这是我的操作方式:
def add_data(message):
message.update({u'timestamp': firestore.SERVER_TIMESTAMP})
coll_ref.add(message)
执行上述方法时,出现错误:
TypeError: ('Cannot convert to a Firestore Value', <object object at 0x104fdebe0>, 'Invalid type', <class 'object'>)
为什么会出现此错误? firestore
Python SDK中是否存在错误,如果有,则针对该问题发布了任何补丁?
答案 0 :(得分:1)
以下为我工作的是最新版本的Python Admin SDK(已在REPL中验证)。
>>> import firebase_admin
>>> from firebase_admin import firestore
>>> firebase_admin.initialize_app()
<firebase_admin.App object at 0x1080c33d0>
>>> client = firestore.client()
>>> msg = {'timestamp': firestore.SERVER_TIMESTAMP}
>>> foo = client.collection('foo')
>>> foo.add(msg)
(seconds: 1569404958
nanos: 428866000
, <google.cloud.firestore_v1.document.DocumentReference object at 0x108dfc610>)
这在下面使用google-cloud-firestore
的v1.4.0。检查您的库版本,导入等。