Я пытаюсь разрешить данные, извлеченные из запроса Firebase, но данные не решаются - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь получить данные из firebase через узел, но данные не разрешаются.Я не могу получить данные, которые я хочу.По сути, мне нужна временная метка из данных базы данных, но я не могу ее получить.

Я уже пытался разрешить ее с помощью функции обещания и foreach, но безрезультатно.

router.post("/date", (req, res) => {
  const date = {
    sdate: req.body.sdate,
    edate: req.body.edate
  };
  let s = new Date(date.sdate).getTime();
  let e = new Date(date.edate).getTime();
  const coll = db
    .collection("calls")
    .where("time", ">=", `${s}`)
    .where("time", "<=", `${e}`)
    .get()
    .then(doc => {
      doc.forEach(data => {
        console.log(data.id, data.data());
      });
    })
    .catch(err => {
      console.log(err);
    });
  console.log(coll);

Я ожидаю разрешенияданные в простой объект или массив, чтобы я мог отобразить их в шаблонизатор для отображения данных.

1 Ответ

1 голос
/ 31 мая 2019

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

В вашем вопросе также неясно, какой фрагмент кода не дает ожидаемого результата, но я подозреваю, что это console.log(coll).Это потому, что вы ничего не возвращаете внутри вашего .then() и не ждете, пока обещание будет выполнено, прежде чем войти в систему.

router.post("/date", (req, res) => {
  const date = {
    sdate: req.body.sdate,
    edate: req.body.edate
  };
  let s = new Date(date.sdate).getTime();
  let e = new Date(date.edate).getTime();
  const coll = []
  db
    .collection("calls")
    .where("time", ">=", `${s}`)
    .where("time", "<=", `${e}`)
    .get()
    .then(querySnapshot => {
      querySnapshot.forEach(doc => {
        coll.push({id: doc.id, data: doc.data()});
      });
      console.log(coll);
    })
    .catch(err => {
      console.log(err);
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...