【问题标题】:Check if a value exits in Firebase [duplicate]检查Firebase中是否存在值[重复]
【发布时间】:2017-05-29 15:37:43
【问题描述】:

这是我客户的节点

customers
 {
 "-KXKCee0yVJE1z1gCQcV" : {
"cust_id" : "-KXKCee0yVJE1z1gCQcV",
"email" : “xxx@xxx.com",
"food_pref" : "nonveg",
"name" : “Jind",
"notes" : "",
"phone" : “123"
 },
 "-KXMVChcSwfUif-xVbRa" : {
"cust_id" : "-KXMVChcSwfUif-xVbRa",
"email" : “ggg@ggg.com",
"food_pref" : "nonveg",
"name" : “Mani",
"notes" : "Butter Chicken!!!",
"phone" : “456"
  },
  "-KXV4eYM6bKNniE_oLEf" : {
"cust_id" : "-KXV4eYM6bKNniE_oLEf",
"email" : “vvv@vvv.com",
"food_pref" : "veg",
"name" : "Jay",
"notes" : "",
"phone" : “789"
 }
}

我正在使用以下查询来检查电话号码

Query query = reference.child("customers").orderByChild("phone").equalTo("789");

如何检查值“789”是否存在?

试过了

 query.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            if (dataSnapshot.exists())
                Log.d(TAG, dataSnapshot.getKey());
            else
                Log.d(TAG, "Not Found");
        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

        }

这不起作用。有任何替代方法来检查这个吗?

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    你应该使用addListenerForSingleValueEvent

    只有当孩子存在时才会调用ChildEventListener。否则,什么都不会发生。

    ValueEventListener 将始终被调用,您可以调用快照的exists() 方法来检查是否存在。

    【讨论】:

      猜你喜欢
      • 2016-09-22
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 2018-11-27
      • 2020-12-30
      • 2015-01-18
      • 2011-12-14
      • 2019-05-28
      相关资源
      最近更新 更多