Есть ли возможность передать два параметра в где предложение в Android для доступа к базе данных FireStore - PullRequest
1 голос
/ 18 июня 2019

Есть ли способ написать необработанный запрос или передать несколько параметров в Android для Firestore?

Я пробовал с

`db.collection("users").whereEqualTo("uername", "JHON")`

, но я могу передать только один параметр, не кратный.Я хочу преобразовать приведенный ниже пример SQL-запроса в запрос Firestore

Пример:

select * from login where username = "Jhon" and password = "12345"

1 Ответ

1 голос
/ 18 июня 2019

Для необработанного запроса вы можете использовать firebase Query, вот пример

Query query = yourCollectionRef.whereEqualTo("username ", "your_value_here")
    .whereEqualTo("password", "your_value_here")
    .whereEqualTo("email", "your_value_here");

Другой способ: вы можете следовать стандартному подходу

Хранить пользовательские данные о регистрации пользователя в вашей базе данных Firebase

DatabaseReference ref = 

FirebaseDatabase.getInstance().getReference().child("credentials");

//to store values in your credentials node just use this code

ref.child("usernames").child(username);
ref.child("usernames").child(username).child("password").setValue(password);

// here username and password are the strings you want to store

Вы можете сделать это со всеми вашими новыми пользователями, чтобы зарегистрировать их в своем приложении. Кроме того, это упрощает (читает быстрее) поиск конкретного имени пользователя и соответствующего пароля.

Вы можете сделать это, используя следующий фрагмент кода:

ref.child("credentials").orderByChild("usernames").equalTo(username).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            // here you can do what you want, like comparing the password of the username and other things you require to do

            }

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

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