# #firebase #kotlin #firebase-realtime-database
Вопрос:
Я попытался сделать запрос из базы данных реального времени с помощью equalTo().
database.getReference(verifiedProductsDb.dbPartVerifiedProducts).order By Child(verifiedProductsDb.barcode).equalTo(b.toLong()).get().addOnCompleteListener {
но Android studio выдает:
None of the following functions can be called with the argument supplied. equalTo(Boolean) defined in com.google.firebase.database.Query equalTo(Double) defined in com.google.firebase.database.Query equal To(String?) defined in com.google.firebase.database.Query
Несмотря на то, что с помощью setValue длинные значения записываются в одну и ту же базу данных довольно успешно и без проблем.
Ответ №1:
API базы данных в реальном времени на Android поддерживает только Double
типы чисел. Однако базовый проводной протокол и база данных будут правильно интерпретировать длинные числа, поэтому вы должны быть в состоянии просто сделать:
database.getReference("VerifiedProducts") .orderByChild("barcode") .equalTo(b.toLong().toDouble()) // 👈 .get().addOnCompleteListener { ...