Что не так с поиском элемента по дочернему значению в Firebase?

Рейтинг: 0Ответов: 1Опубликовано: 29.06.2023

У меня есть код (в username я передаю "Payziii"):

public IEnumerator GetName(string  username)
    {
        var user = db.Child("users").OrderByChild("name").EqualTo(username).GetValueAsync();

        yield return new WaitUntil(predicate: () => user.IsCompleted);

        if(user.Exception  != null)
        {
            Debug.LogError(user.Exception);
        }
        else if(user.Result == null)
        {
            Debug.Log("Not found.");
        }
        else
        {
            DataSnapshot snapshot = user.Result;
            Debug.Log(snapshot.Value.ToString());
        }
    }

Что лежит в бд в Firebase

Мне надо, чтобы через Debug.Log(); вывело значение "name", но оно выводит совсем другое: Скриншот вывода в консоль

Ответы

▲ 0Принят

Нашёл решение: Надо было заменить строчку Debug.Log(snapshot.Value.ToString()); на Debug.Log(snapshot.Child(username).Child("name").Value.ToString());

Также для вывода json-строки можно использовать Debug.Log(snapshot.GetRawJsonValue());