Проверьте, содержит ли документ 2 строки - PullRequest
1 голос
/ 22 марта 2020

Я использую Firestore с Android (Kotlin). В одной из моих коллекций, если хотите проверить, существует ли документ, который содержит 2 идентификатора пользователя. Я хочу написать в мою коллекцию, если такого документа не существует. В противном случае я хочу получить идентификатор этого документа. Вот как выглядят мои документы:

document

Учитывая 2 строки, как проверить, содержит ли документ оба документа?

1 Ответ

1 голос
/ 22 марта 2020

Чтобы проверить, содержит ли указанный документ c эти два конкретных идентификатора, вам нужно использовать Query. Я предполагаю, что документ из скриншота существует в коллекции с именем «users», пожалуйста, используйте следующие строки кода:

var rootRef = FirebaseFirestore.getInstance()
var usersRef = rootRef.collection("users")
var queryByTWoIds = usersRef.whereEqualTo("p1", "9EBt ... LX62").whereEqualTo("p2", "Tsh6 ... Fin1")
queryByTWoIds!!.get().addOnSuccessListener { documents ->
    for (document in documents) {
        Log.d(TAG, "${document.id} => ${document.data}")
    }
}.addOnFailureListener { exception ->
    Log.w(TAG, "Error getting documents: ", exception)
}

Обратите внимание, что в Cloud Firestore разрешено связывать несколько вызовов метода whereEqualTo() .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...