Я пытаюсь получить данные из 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);
Я ожидаю преобразовать данные в простой объект или массив, чтобы я мог отобразить их в механизме шаблонов для отображения данных.
Какая строка выдает результат, которого вы не ожидаете?
Какова схема сбора звонков?
Строка, в которой регистрируется data.data()
Похоже, вы пытаетесь получить несколько документов из коллекции. Ваш пример кода сбивает с толку из-за того, что имена переменных не соответствуют их значению.
В вашем вопросе также неясно, какая часть вашего примера кода не дает ожидаемого результата, но я подозреваю, что это 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);
});
})
Могу ли я предложить принять ответ, если он вас устраивает?
Я получаю данные, но не могу проанализировать их в механизме шаблонов, потому что я не могу преобразовать данные в простой формат. Любая помощь будет оценена