android 从回收站中删除查看指定项目Kotlin/Firestore

kb5ga3dv  于 2023-02-27  发布在  Android
关注(0)|答案(1)|浏览(132)

你好,我不知道如何删除Firestore数据库中的特定项目。我已经有这个项目的位置,但没有文档的ID。
变量“product”是该产品在firestore数据库中的位置。

fun deleteItem(product: Int) {
    db.collection("products").addSnapshotListener { snapshot, e ->

        Log.v(TAG, "Remove fun 0 $product");
        Log.v(TAG, "Remove fun 1" + snapshot.toString());
        Log.v(TAG, "Remove fun 2" + e.toString());

        db.collection("products").document().delete()
        
    }
}

logcat的测试结果:

2023-02-25 12:25:04.413 15627-15627/com.example.foodorder V/ContentValues: Remove fun 0 1
2023-02-25 12:25:04.413 15627-15627/com.example.foodorder V/ContentValues: Remove fun 1com.google.firebase.firestore.QuerySnapshot@cf2d6530
2023-02-25 12:25:04.413 15627-15627/com.example.foodorder V/ContentValues: Remove fun 2null

我的适配器文件https://pastebin.com/035iqP5G

kkih6yb8

kkih6yb81#

我做到了

private fun deleteItem(productName: String) {

    val collectionRef = db.collection("products")
    val query = collectionRef.whereEqualTo("name", productName)

    query.get().addOnSuccessListener { documents ->
        for (document in documents) {
            val documentId = document.id
            db.collection("products").document(documentId).delete()
            Log.d(TAG,"Succes")
            notifyDataSetChanged()
            (context as Activity).recreate()
        }
    }.addOnFailureListener { exception ->
        Log.d(TAG, "Failed: ", exception)
    }

}

相关问题