在我的Android应用中,我需要比较两个Firebase数据库查询对象的等效性。有没有办法让我根据数据库引用和查询参数断言两个查询对象是等价的?
Query类的Javascript Firebase版本有一个isEqual()方法,可以产生所需的行为。 https://firebase.google.com/docs/reference/js/firebase.database.Query
我在Android代码中尝试了以下等效性测试,但这不会产生预期的行为:
Reference ref = Firebase.getInstance();
String child = "childKey"; //this is a valid child of ref
Query query1 = ref.child(child).limitTo(10);
Query query2 = ref.child(child).limitTo(10);
query1 == query2 //false
query1.equals(query2) //false
答案 0 :(得分:0)
这似乎有效
query1.zzWM().toString.equals(query2.zzWM().toString) // true
我不认为你需要这个。据我所知,只要引用上有一个侦听器,Firebase就会保持缓存结果。所以,即使你有2,它也只是从缓存版本中得到它,但我可能错了。