首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对文档引用使用WriteBatch ()、update()、delete()时,Firestore无法执行

对文档引用使用WriteBatch ()、update()、delete()时,Firestore无法执行
EN

Stack Overflow用户
提问于 2018-06-04 12:40:00
回答 1查看 645关注 0票数 0

我正在构建一个使用Firestore作为后端的Android应用程序。我正在向文档中的多个集合写入内容,在某些情况下,我可以在同一个WriteBatch中对文档执行writeupdatedelete操作。每当用户创建文档,然后在同一个WriteBatchdeletes文档时,我的应用程序就会崩溃。下面是我收到的代码和错误。

代码语言:javascript
复制
private void executeBatchedWrite() {
    WriteBatch batch = db.batch();

    DocumentReference doc = notebookRef.document("123");
    batch.set(doc, new Note("New Note", "New Note", 1));

    batch.update(doc, "timestamp", FieldValue.serverTimestamp());

    batch.delete(doc);

    batch.commit();
}

我的应用程序崩溃,并收到以下错误:

代码语言:javascript
复制
java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev).
    at com.google.firebase.firestore.g.zza.zzb(SourceFile:324)
    at com.google.firebase.firestore.g.zzd.run(Unknown Source)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-10 02:07:20

我已经确定这是一个bug,并将其报告给Google。进一步的测试表明,该问题可能是由于将FieldValue.serverTimestamp()写入最终将在同一批写入中被删除的文档造成的。如果用不同的值(例如: System.currentTimeMillis())替换FieldValue.serverTimestamp(),这个问题似乎就消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50673476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档