REST Firebase запрос через qwest - PullRequest
0 голосов
/ 18 мая 2019

У меня есть база данных реального времени из firebase с 9386 наборами данных (но это может измениться в будущем)

, поэтому я хочу знать, что является "ключом" последнего события.

вот как я сейчас пытаюсь узнать: (с модулем npm qwest)

    let order = "\u0022\u0024key\u0022";
    let dbUrl = "https://example.firebaseio.com/users.json?limitToLast=1&orderBy=";
    let end;
    qwest.get(dbUrl + order)
    .then(function(xhr, response) {
      console.log(response);
      end = response[9386]["username"];
      console.log(end);
    });

первый вопрос: почему я должен избегать кавычек и знака доллара?

второй вопрос: как я могу получить «ключ» последнего элемента, который я проверяю в json (limitToLast = 1).

Ответ json выглядит следующим образом:

{"9386":
 {
  "fromListA":"1",
  "fromListB":"0",
  "id":"9939",
  "lastChecked":"2019-05-09 03:18:05",
  "userid":"123456789",
  "username":"username"
 }
}

и я хочу получить "9386" в переменной.

1 Ответ

1 голос
/ 18 мая 2019
  1. Поскольку вы решили использовать " для ограничения строки dbUrl, вы не можете использовать " внутри значения этой строки, не экранируя ее. Более простой способ определить строку - использовать ' для ее разделения:

    let dbUrl = 'https://example.firebaseio.com/users.json?limitToLast=1&orderBy="$key"';
    
  2. Чтобы получить ключ от объекта, используйте что-то вроде:

    Object.keys(response)[0]
    

var response = {"9386":
 {
  "fromListA":"1",
  "fromListB":"0",
  "id":"9939",
  "lastChecked":"2019-05-09 03:18:05",
  "userid":"123456789",
  "username":"username"
 }
}

console.log(Object.keys(response)[0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...