C# 如何在Firebase数据库中搜索

C# 如何在Firebase数据库中搜索,c#,firebase,search,firebase-realtime-database,C#,Firebase,Search,Firebase Realtime Database,如何使用Firebase数据库在unity中搜索用户而不使用弹性搜索 所以我在Android Studio上发现了这一点,我想知道如何为Unity复制这一点 (我可怕的尝试) 我不是专家,但我一直在遵循此文档() 我想你需要EqualTo(searchusername)某个地方。你的Firebase数据库是什么样子的?users>userid(key)>-user\u id:(key)-username:john smithEqualTo()方法要求我输入用户的完整用户名,我要做的是使用“Sta

如何使用Firebase数据库在unity中搜索用户而不使用弹性搜索

所以我在Android Studio上发现了这一点,我想知道如何为Unity复制这一点

(我可怕的尝试)


我不是专家,但我一直在遵循此文档()


我想你需要
EqualTo(searchusername)
某个地方。

你的Firebase数据库是什么样子的?
users>userid(key)>-user\u id:(key)-username:john smith
EqualTo()方法要求我输入用户的完整用户名,我要做的是使用“StartAt(searchField.text).EndAt(searchField.text+“\uf8ff”)”因此,我可以部分输入用户用户名来查找他,而不是输入他的整个用户名。明天我将尝试使用.ValueChanged函数,因为现在已经很晚了,而且我还没有打开IDE和Unity。我会通知你的。
public void SearchUser()
{
    FirebaseDatabase.DefaultInstance.RootReference.Child("user_id").OrderByChild("username").StartAt(searchField.text).EndAt(searchField.text + "\uf8ff")
          .GetValueAsync().ContinueWith(task => {
    if (task.IsFaulted) {
      // Handle the error...
    }
    else if (task.IsCompleted) {
      DataSnapshot snapshot = task.Result;
                  // Do something with snapshot...
                  Debug.Log("Found " +snapshot.Value.ToString());
    }
  });

}
FirebaseDatabase.DefaultInstance
    .GetReference("users").OrderByChild("username").EqualTo(searchusername)
    .ValueChanged += HandleValueChanged;
}

void HandleValueChanged(object sender, ValueChangedEventArgs args) {
  if (args.DatabaseError != null) {
    Debug.LogError(args.DatabaseError.Message);
    return;
  }
  // Do something with the data in args.Snapshot
}