java - Firestore 根据条件执行删除

标签 java android firebase google-cloud-firestore

<分区>

有什么方法可以删除 Firestore 文档,其中 field1 =xfield2 = y?

我看到了删除功能,但哪里没有。 如果我使用事务,则有 get 和 delete,但 get 似乎不接受“where”子句。

我希望我在文档中遗漏了一些东西。

谢谢

最佳答案

为此,您需要先创建所需的查询,然后使用 delete() 方法,如下所示:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference itemsRef = rootRef.collection("yourCollection");
Query query = itemsRef.whereEqualTo("field1", "x").whereEqualTo("field2", "y");
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (DocumentSnapshot document : task.getResult()) {
                itemsRef.document(document.getId()).delete();
            }
        } else {
            Log.d(TAG, "Error getting documents: ", task.getException());
        }
    }
});

关于java - Firestore 根据条件执行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49144578/

相关文章:

javascript - “没有创建 Firebase 应用程序 '[DEFAULT]'”,即使调用了 initializeApp

java - TabHost 单击时启动外部浏览器

android - 固定 : Can't connect to adb over wifi

android - 如何从 WebView 获取 WebviewClient 实例而不是在 Android 的 API 26 上?

ios - 如何从 fireBase 推送通知 swift 4 获取数据

javascript - 如何让 JavaScript Promise 等待另一个 Promise 在 for() 循环中得到解决

java - Java 中的按键问题

Java将csv文件读取为矩阵

java - 如何使用 FXML 将按钮添加到 TableView?

java - RadioGroup CheckedChangeListener 索引错误