- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想通过创建 ArrayUnion 对象来更新我的 firestore 数据库。不幸的是,我的更新方法产生了以下错误:
TypeError: ('Cannot convert to a Firestore Value', <google.cloud.firestore_v1beta1.transforms.ArrayUnion object at 0x04CDEF90>,
'Invalid type', <class 'google.cloud.firestore_v1beta1.transforms.ArrayUnion'>)
这个实现在过去对我有用,但有几天我无法让它成功。
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
from firebase_admin import db
from google.cloud.firestore_v1beta1 import ArrayUnion, ArrayRemove
class TwitFire:
def __init__(self):
# Use a service account
cred = credentials.Certificate('./credentials')
firebase_admin.initialize_app(cred)
self.client = firestore.client()
def getRef(self, collectionName, documentName):
return self.client.collection(collectionName).document(documentName)
def set(self, ref, entry):
return ref.set(entry)
def update(self, ref, entry):
return ref.update(entry)
def updateTweets(self, ref, entry):
return ref.update({u'retweets': ArrayUnion([entry])})
def create(self, ref, entry):
return ref.create(entry)
最佳答案
你在使用 google-cloud-firestore==0.32.1
吗?
当我升级到 32.1
时遇到同样的问题。
降级到 google-cloud-firestore==0.31.0
并且问题消失了。可能是最新版本中的错误。
注意我本地没有测试,只是改了requirements.txt
编辑:
from google.cloud.firestore_v1beta1 import ArrayUnion
应该与 0.31.0
一起使用当使用 0.32.0
及更高版本时,导入必须是:
from google.cloud.firestore_v1 import ArrayUnion
参见 this
关于python - 通过 ArrayUnion 更新 firestore 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55691143/
我正在使用 vue.js 和 firebase 构建一个基本的 CRUD 应用程序。我正在尝试构建收藏夹功能,但在存储数据时遇到了一个持续存在的问题。 当用户单击“添加到收藏夹”按钮时,我试图将文档
例如我有这样一个文档: team: { members: [{name: "john", age: 2}, {name: "tim", age: 3}] } 我想将 Tims 年龄更新为 4 {nam
我的 Firestore 数据库中有一个数组,假设它是 [0, 2, 5],我想添加另一个值为 [1, 3, 5] 的数组。当我使用 arrayUnion 添加数组时,它仅添加尚不存在的元素。到目前为
如何将数组传递到 firebase firestore arrayUnion() function ? 当我尝试传递数组时出现此错误。 错误 Error: 3 INVALID_ARGUMENT: Ca
我已经在文档中的集合中创建了一个审阅系统。在文档中,我有一个数组,其中的平均评分为(在上传评论时添加了评分),但是如果我使用FieldValue.arrayUnion上传两个相等的数字,我只会得到一个
我有一个云函数,它会在特定事件发生时调用。在函数中,我将获得一个字符串数组,例如 let h:string[] = ["foo","bar","baz"] 当我尝试更新数组时,类似于此的内容我的文档中
是否可以只允许压入数组字段(在文档中),但阻止写入该数组中的任何现有值? myDocument: { myArray: [ "value1", "value2"
在 Firestore 中,我有一个包含名为 myMap 的 map 的文档,其中包含一个名为 myArr 的数组字段。 是否可以使用 arrayUnion 来更新 myArr,方法是在事务中向其添加
我有一个基本数据库,它本质上存储了用户下方的产品 ID 数组。用户可以选择要添加到数组的产品,因此使用 'arrayUnion' 是有意义的,因此我避免不断读取和重写数组,但是,我不断收到错误 *"P
在我的 Android 应用程序中,我构建了一个名为“Lesson”的对象(它只有 2 个字符串字段)。 我在 Firestore 上有一个集合,其中一个字段是“类(class)”数组(称为“我的类(
我正在创建一个聊天应用程序,用户可以在其中与不同的人开始多个聊天(就像其他聊天应用程序的其余部分一样)。我正在使用 Swift 与 Cloud Firestore . 我的数据库设计如下: Chat
我想通过创建 ArrayUnion 对象来更新我的 firestore 数据库。不幸的是,我的更新方法产生了以下错误: TypeError: ('Cannot convert to a Firest
我正在尝试更新我的 firestore 中的数组,我遵循了 Google ( https://firebase.google.com/docs/firestore/manage-data/add-da
我当前的文档如下所示: { "assignmentName": "OS Assignment-2", "dueDate": "10 August", "createdAt":
addDeposit(account, deposit) { let depositsDoc = this.db.collection("accounts")
我目前正在 iOS 和 Android 中使用 Firebase 开发 Xamarin 应用程序。我正在尝试向 firestore 中的现有数组添加一个值。在 iOS 中,我使用 FieldValue
我有这样的云火存储对象 "TestCollection" : ["Test1","Test"] 现在我想用 FieldValue.arrayUnion 更新这个数组因为如果元素相同,那么我不想做任何事
我正在使用 firestore 更新我的对象上的数组。 我在 documentation 上找到了我可以执行数组联合和删除,这很棒,这是文档中给出的示例: var washingtonRef = db
我在 Cloud Firestore 中有一个文档。 “事件”字段的结构如下: { "events" : [ "eventID-1": [ "value1",
我在 Cloud Firestore 中有一个文档。 “事件”字段的结构如下: { "events" : [ "eventID-1": [ "value1",
我是一名优秀的程序员,十分优秀!