gpt4 book ai didi

java - 如何在没有事件监听器的情况下检查数据是否仅存在于 firebase 数据库中一次

转载 作者:行者123 更新时间:2023-12-02 02:13:26 25 4
gpt4 key购买 nike

我想检查数据库中是否存在特定用户,如果存在,那么我不想覆盖数据库中的数据。我在 firebase 提供的每个节点上使用唯一 key 生成作为用户 ID

因此,如果用户已经存在,我不想重复该用户。

如何在不监听任何事件的情况下检查该用户是否存在于数据库中,因为我的程序执行取决于此值

当我这样做时,执行会进入无限循环

    USER_REFERENCE.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> children = dataSnapshot.getChildren();
for (DataSnapshot d : children) {
if (d.child("email").exists()) {
if (d.child("email").getValue().equals(user.getEmail())) {
user.setUserId(d.getKey());
mPresenter.saveUserIntoSession(user);
} else {
String userId = addUser(user);
user.setUserId(userId);
mPresenter.saveUserIntoSession(user);
}
}
}
}

最佳答案

试试这个来检查:

DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
ref.orderByChild("username").equalTo(name).addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot){
if(dataSnapshot.exist() {
//username exist
}
}

上面将读取一次数据,并检查数据库中是否存在特定用户名

关于java - 如何在没有事件监听器的情况下检查数据是否仅存在于 firebase 数据库中一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49627838/

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