Я пытаюсь разрешить данные, полученные из запроса firebase, но данные не разрешаются

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

Я уже пытался решить эту проблему с помощью функции promise и 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.info(data.id, data.data());
      });
    })
    .catch(err => {
      console.info(err);
    });
  console.info(coll);

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

Я получаю данные, но не могу проанализировать их в механизме шаблонов, потому что я не могу преобразовать данные в простой формат. Любая помощь будет оценена

Dharmik soni 31.05.2019 05:12

Какая строка выдает результат, которого вы не ожидаете?

BlueWater86 31.05.2019 05:17

Какова схема сбора звонков?

BlueWater86 31.05.2019 05:18

Строка, в которой регистрируется data.data()

Dharmik soni 31.05.2019 15:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

В вашем вопросе также неясно, какая часть вашего примера кода не дает ожидаемого результата, но я подозреваю, что это console.info(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.info(coll);
    })
    .catch(err => {
      console.info(err);
    });
})

Могу ли я предложить принять ответ, если он вас устраивает?

BlueWater86 01.06.2019 02:22

Другие вопросы по теме