如何在交易内将文档添加到Firebase集合中?

时间:2019-07-24 11:09:20

标签: java android firebase google-cloud-firestore

我可以使用CollectionReference.add()方法将一个对象添加到Firebase集合中,然后在返回的对象上调用addOnSuccessListener()以获取存储在Firebase中的实际值。但是,I want to run this inside a transaction block可以避免缓存写操作,否则在客户端脱机时不会失败。

但是Transaction个对象仅具有.get.delete.set.update方法。如何在交易中向集合中添加值?

2 个答案:

答案 0 :(得分:2)

来自文档:

enter image description here enter image description here

因此,如果找不到任何新文档,则可以在事务中调用set来创建它们。希望对您有帮助

答案 1 :(得分:1)

您可以使用他所说的set()方法,请举一个例子:

transaction.set(CollectionReference.doc(), {
                attribute1: ...,
                ...
                attributen: ...});

使用CollectionReference.doc(),您将使用对象中给定的值创建新文档