gpt4 book ai didi

firebase - Firestore 批量写入与事务

转载 作者:行者123 更新时间:2023-12-03 19:44:27 25 4
gpt4 key购买 nike

关注此后 firestore document ,很明显,批量写入和事务都非常适合对多个操作进行分组。

虽然我无法确定我的用例的最佳实践是什么。

这是我的批量写入:

val batch = db.batch()

val docRef = db.collection(CHATS_COLLECTION).document()
chat.id = docRef.id

return Observable.create { emitter: ObservableEmitter<String> ->
batch.set(docRef, chat)
batch.update(db.collection(USERS_COLLECTION).document(userId), "chatIds",
FieldValue.arrayUnion(db.document("$CHATS_COLLECTION/${docRef.id}")))

batch.commit()
.addOnSuccessListener {
emitter.onNext(docRef.id)
emitter.onComplete()
}
.addOnFailureListener { e ->
emitter.onError(e)
}
}

我正在创建新的聊天文档,同时使用批量写入使用新创建的文档更新我的用户文档“chatsIds”数组。

用事务代替批量写入有什么缺点?

最佳答案

在没有任何额外好处的情况下,它会变慢。批量写入非常适合您的情况:您希望在没有任何读取的情况下更新数据库中的多个位置。

如果你有读取,那么使用事务是有意义的。在您的情况下,批量写入是正确的选择,因为它运行速度更快。

关于firebase - Firestore 批量写入与事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57151708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com