是否可以在Android中为Firestore编写原始查询或传递多个参数?
我尝试过
`db.collection("users").whereEqualTo("uername", "JHON")`
但是我只能传递一个参数而不是多个参数。我想将以下示例SQL查询转换为Firestore查询
示例:
select * from login where username = "Jhon" and password = "12345"
答案 0 :(得分:1)
对于原始查询,您可以使用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) {
}
});