如何从 firebase xamarin 获得搜索结果......?

How can I get a Search result from firebase xamarin....?

我的Firebase节点是这样的...

Member
 -Kr4RLvm2ObnbnRvWXeb-wEr
    Age: "32"
    Email: "samaaa@uil.gl"
    IsActive: true
    ManagerId: "170809sam@uil.gl"
    MemberId: "170809sam@uil.gl"
    Name: "Samiufgfgl alfgfgam"
 -Kr4RLvmbnbn2ORvWXeb-wEr
    Age: "34"
    Email: "sasssm@uil.gl"
    IsActive: true
    ManagerId: "170809sam@uil.gl"
    MemberId: "170809sam@uil.gl"
    Name: "Samfgfgiul alam"
 -Kr4RLvm2OghghRvWXeb-wEr
    Age: "39"
    Email: "sacccm@uil.gl"
    IsActive: true
    ManagerId: "170809sam@uil.gl"
    MemberId: "170809sam@uil.gl"
    Name: "Samfffiul alam"
 -Kr4RLvm2ObvnbvnbvnRvWXeb-wEr
    Age: "66"
    Email: "sabbbm@uil.gl"
    IsActive: false
    ManagerId: "170809sam@uil.gl"
    MemberId: "170809sam@uil.gl"
    Name: "Samigggul alam"

我可以通过这种方式从 Xamarin 中检索数据

 var firebase = new FirebaseClient(url);
 var Current = await firebase.Child("Member").OnceAsync<Member>();

但是我想要火力基地的数据作为 select * 来自 IsActive = true 且年龄 > 30 的成员

你不能在 firebase 中查询超过 child,而且你使用的库不能这样做。如果您使用的平台是 Mono.Android this 库就可以。

和下面的解决方案代码

DatabaseReference myRef = database.GetReference("Member");
myRef.OrderByChild(mAge+"/IsActive").EqualTo(true).AddValueEventListener(this);

此外,您还需要根据自己的需要更改数据库结构,以便此解决方案像这个年龄需要像索引一样工作

-Kr4RLvm2ObnbnRvWXeb-wEr
    Age: "32"
         Email: "samaaa@uil.gl"
         IsActive: true
         ManagerId: "170809sam@uil.gl"
         MemberId: "170809sam@uil.gl"
         Name: "Samiufgfgl alfgfgam"
 -Kr4RLvmbnbn2ORvWXeb-wEr
    Age: "34"
         Email: "sasssm@uil.gl"
         IsActive: true
         ManagerId: "170809sam@uil.gl"
         MemberId: "170809sam@uil.gl"
         Name: "Samfgfgiul alam"
    enter code here