javascript - 我正在尝试解析从 firebase 查询中获取的数据,但数据没有得到解析

标签 javascript node.js express firebase-realtime-database promise

我正在尝试通过 Node 从 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.log(data.id, data.data());
      });
    })
    .catch(err => {
      console.log(err);
    });
  console.log(coll);

我希望将数据解析为简单的对象或数组,以便将其呈现给模板引擎以显示数据。

最佳答案

看起来您正在尝试获取 multiple documents from a collection .由于变量名称与其含义不匹配,您的代码示例令人困惑。

在您的问题中也不清楚您的代码示例的哪一部分未能产生预期的结果,但我怀疑它是 console.log(coll)。这是因为你是returning nothing在您的 .then() 中,您无需等待 promise 在记录之前得到解决。

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);
    });
})

关于javascript - 我正在尝试解析从 firebase 查询中获取的数据,但数据没有得到解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56388194/

相关文章:

javascript - Mongoose refs 不填充 json

javascript - 在express.js 上使用 ejs (ejs-locals) 插入带有数据的脚本标签

ReactJS/Next.js : CRA Proxy Does Not Work With Next. js(尝试将 API 请求路由到 Express 服务器)

javascript - 保存 XML 文件、JS、XML HTML

javascript - 如何在 Javascript 中包装字符串中的第一个单词而不包装 HTML 元素?

node.js - async.series 的简单实现是什么?

node.js - 无法在 Angular 2 应用程序中提供图像

javascript - shouldoverrideurlloading 不叫 Webview Android

javascript - 从谷歌街道获取一个点的坐标

node.js - ionicframework导入模块,变量始终未定义