如何在Cloud Firestore上添加,更新,删除和阅读?

时间:2019-07-24 22:26:06

标签: android google-cloud-firestore

我想学习在Cloud Firestore上添加,插入,更新和删除。 我已经阅读了Cloud Firestore文档,但是我不了解它,因为我对Could firestore真的很陌生,我才开始学习android studio。

我已经使构造函数和计划使用ListView读取数据,并使用意图使setOnLongClickListener上的Delete和Update变得更容易。而且我将另一个活动用于添加功能。

我遇到的大多数教程都把它们放在一个地方,这使得它很难理解。 混合我从不同资源获得的代码,使代码更难以理解,而且看起来很奇怪。

那么使用此数据库执行此操作的简单易懂的代码是什么?

https://i.stack.imgur.com/ngnR7.png

1 个答案:

答案 0 :(得分:0)

  1. 如果要使用Firebase Android SDK将数据发布到服务器,则应该要求用户身份验证,然后服务器上的firebase.rules应该检查呼叫者的访问级别正确。 / p>

  2. 获取

    FirebaseFirestore的实例
    private val firestore: FirebaseFirestore
        get() = FirebaseFirestore.getInstance()
    
  3. Firebase上的
  4. 文档始终遵循模式document/collection/document/collection/...示例val docName = "animalDoc/mammalCollection/rodentDoc/miceCollection/JerryDoc

  5. 获取所有小鼠:

    firestore.collection("animalDoc/mammalCollection/"
    +"rodentDoc/miceCollection").get()
    .addOnSuccessListener { result -> //result is just a Kotlin collection
        val myFavoriteMouse = result.find { it["name"] == "Jerry" }
        // do something with Jer
    }
    
  6. 设置鼠标

    val docName = "animalDoc/mammalCollection/rodentDoc/miceCollection/JerryDoc"
                    firestore.document(docName).set(mapOfData).addOnCompleteListener {
                        if (it.isSuccessful) {
                            // log your success or whatever
                        } else {
                            // log your failure or whatever
                        }
                    }
    
  7. 更新鼠标

     val docName = "animalDoc/mammalCollection/rodentDoc/miceCollection/JerryDoc"
    val docRef = firestore.document(docName)
    firestore.runTransaction { transaction ->
        transaction.update(docRef, "color", "brown")
    }
    
  8. 删除鼠标

    val docName = "animalDoc/mammalCollection/rodentDoc/miceCollection/JerryDoc"
    firestore.document(docName).delete()