簡體   English   中英

如何在不覆蓋數據的情況下將文檔存儲在 Firestore 數據庫中?

[英]How can I store documents in firestore database without overwritting the data?

我想為firestore中的每個用戶將“val credentials”存儲在“Credenciales”中,並將“val generales”存儲在“Generales”中。 但是,如果我注冊為新用戶,它會覆蓋舊用戶的存儲數據。 請讓我知道如何在不替換它們的情況下存儲這兩個變量。

這是我截取的代碼:

val generales = hashMapOf(
    "Nombre" to nameEditText.text.toString(),
    "Celular" to celularEditText.text.toString(),
    "Cedula" to cedulaEditText.text.toString(),
    "Oficio" to oficioEditText.text.toString(),
    "Estado civil" to auto_complete_txt.text.toString(),
    "Calle" to calleEditText.text.toString(),
    "Sector" to sectorEditText.text.toString(),
    "Edificio" to edificioEditText.text.toString(),
    "Apto" to numeroEditText.text.toString(),
    "Ciudad" to ciudadEditText.text.toString(),
    "Residencial" to resEditText.text.toString(),
    "Telefono" to telEditText.text.toString(),
    )

    db.collection("Usuarios").document("Generales")
        .set(datos)

val credentials = hashMapOf(
    "email" to emailEditText.text.toString(),
    "password" to passwordEditText.text.toString(),
        )

     db.collection("Usuarios").document("Credenciales")
       .set(credentials)

更新:

val generales = hashMapOf(
        "Nombre" to nameEditText.text.toString(),
        "Celular" to celularEditText.text.toString(),
        "Cedula" to cedulaEditText.text.toString(),
        "Oficio" to oficioEditText.text.toString(),
        "Estado civil" to auto_complete_txt.text.toString(),
        "Calle" to calleEditText.text.toString(),
        "Sector" to sectorEditText.text.toString(),
        "Edificio" to edificioEditText.text.toString(),
        "Apto" to numeroEditText.text.toString(),
        "Ciudad" to ciudadEditText.text.toString(),
        "Residencial" to resEditText.text.toString(),
        "Telefono" to telEditText.text.toString(),
    )


    // Add a new document with a generated ID
    db.collection("Usuarios").document("Credenciales")
        **.add(generales)** // I get an unresolved reference error here.
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot written with ID: Generales")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }

您需要在添加時刪除.document("Credenciales")並將其設置為:

db.collection("Usuarios").add(generales) //etc.

如果您想添加到子集合中,它將類似於:

db.collection("Usuarios").doc(docref).collection(subcollectionRef).add(generales)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM