Как получить идентификатор узла (ключ) из базы данных firebase в реальном времени в Xamarin.Формы

#firebase #firebase-realtime-database #xamarin.forms #key

#firebase #firebase-realtime-database #xamarin.forms #Клавиша

Вопрос:

У меня есть база данных firebase в реальном времени, написанная следующим образом:

 "Users" : {
    "6SuuMBbymrV0YaiE82YCU8Qz0bj1" : {
      "Name" : "Vincent",
      "e-Mail" : "vinc.dl@gmail.com"
    }
  

И я хочу получить идентификатор (6SuuMBbymrV0YaiE82YCU8Qz0bj1) и поместить его в строковую переменную, чтобы я мог использовать его в запросе запроса (используя where ).
.Ключ и .Uid не работает, так как я могу это сделать?

Комментарии:

1. Итак, вы говорите, что не знаете, что ищете, но все равно хотите это найти?

2. Мне нужно сравнить его с другим значением, но сначала я должен его получить

3. Прежде чем извлекать его, вы должны знать его ключ или, по крайней мере, что-то о нем. Либо это, либо вы запрашиваете всю базу данных и как-то разбираетесь.

4. Это то, что я хочу, получить ключ узла

Ответ №1:

Сначала мы создадим клиент Firebase с помощью FirebaseDatabase.net посылка.

 FirebaseClient firebase = new FirebaseClient("Firebase Database URL");
  

Пользовательская модель

 public class User
    {
        public string Name { get; set; }
        public string e-Mail { get; set; }

        public string Key { get; set; } //To Store ID
    }
  

Запрос Firebase для получения пользователей

 await firebase
              .Child("Users")
              .OnceAsync<User>()).Select(item => new User
              {
                  Key = item.Key, // This is the ID
                  Name = item.Object.Name,
                  e-Mail = item.Object.e-Mail
              }).ToList();