如何创建需要find目标文档的Firestore事务
我正在寻找一种方式来创建一个firestore事务,我从查询中find一个文档,然后在一个事务中修改这个文档。
这些线(科特林)的东西:
firestore.runTransaction { transaction -> val snapshot = transaction.get(db.collection("document") .whereEqualTo("someField", null) .orderBy("creationDate", ASCENDING) .limit(1L)) val myObject = snapshot.toObject(MyObject::class.java) myObject.someFiled = "123" transaction.set(snapshot.reference, myObject) }
这里的问题是.limit(1)
方法返回的查询不是一个DocumentReference,它是事务接受的唯一types。 所以我的问题是,如何在java / kotlin中实现这样的事务呢?
我在这个博客文章中使用admin sdk看到类似的东西:
return trs.get(db.collection('rooms') .where('full', '==', false) .where('size', '==', size) .limit(1));
- 为什么这个ChildEventListener不从Firebase节点读取数据?
- Firebase @Exclude with kotlin data class
- 如何获取RxJava 2自定义运算符上的RetroFit请求的URL和方法?
- 如何从Firebase数据库中删除用户
- 如何从Firebase数据库检索数据并将其存储在ListArray <Class>中? – Kotlin
- FirebaseListAdapter忽略orderByChild()和equalTo()
- 在Android版Firebase中忘记密码
- 使用Kotlin和Firebase通过onAuthStateChanged回调触发sendEmailVerification
- 如何处理iOS中的Firebase数据库错误? #AskFirebase