gpt4 book ai didi

java - 如何在 Firebase 中进行类似于 SQL 查询的查询?

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:03 24 4
gpt4 key购买 nike

我正在尝试使用 Java 开发适用于 Android 的应用程序。我正在使用 NoSQL Firebase 数据库。然而,这与我目前所学的有很大不同,所以我希望你能帮我做这样的事情:

SELECT "name" FROM users WHERE email = "user@gmail.com"

使用 Firebase 语法。你可以帮帮我吗?

最佳答案

在 NoSQL 数据库的世界里,一个查询看起来像这样:

SELECT "name" FROM users WHERE email = "user@gmail.com"

可以有两种写法。如果您使用 Firebase Realtime Database ,查询应如下所示:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
Query query = usersRef.orderByChild("email").equalTo("user@gmail.com");

如果您使用的是 Cloud Firestore ,查询应如下所示:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference usersRef = rootRef.collection("users");
Query query = usersRef.whereEqualTo("email", "user@gmail.com");

编辑:

根据您的评论,要获取名称,请使用上面的行以及以下代码行:

ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.child("name").getValue(String.class);
Log.d(TAG, name);
}
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
query.addListenerForSingleValueEvent(valueEventListener);

关于java - 如何在 Firebase 中进行类似于 SQL 查询的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53762924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com