C# 如何在Firebase数据库中搜索
如何使用Firebase数据库在unity中搜索用户而不使用弹性搜索 所以我在Android Studio上发现了这一点,我想知道如何为Unity复制这一点 (我可怕的尝试)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
我不是专家,但我一直在遵循此文档()
我想你需要
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
}