firebase实时数据库:TypeError:无法将未定义或null转换为对象

时间:2018-10-01 06:54:09

标签: firebase firebase-realtime-database

我有如下查询

var db = admin.database();
    var ref = db.ref('orders') ref.orderByChild("order/_date").startAt(begDate).endAt(endDate).once("value").then(
        (resp) =>   { 
..
}).catch(
                (err) => console.log('failed in sales report:' + err)
        )

它扔到下面

TypeError: Cannot convert undefined or null to object 

数据如下所示

orders: {
  "-LNMPXMb1SGSnkDaEMQO" : {
    "order" : {
      "_cgst" : "11.90",
      "_date" : "1538368446413",
      "_location" : "kapashera",
      "_orderNumber" : "VikKumar-21247",
      "_orderStatus" : "Delivered",
    }
  },

在执行时,begDate和endDate是:

begDate:1538352000000 endDate:1538438400000 

所以有两个问题: 1,错误本身如果没有匹配项,如何避免引发错误? 2.当日期值在begDate和endDate之间时,为什么上面的记录不匹配?

2 个答案:

答案 0 :(得分:1)

您可能所做的错误与昨天的其他问题相同:firebase realtime DB querying date between 2 dates does not match anything

因此,原因可能是因为begDateendDate是数字,但是您将_date作为字符串存储在数据库中。

答案 1 :(得分:0)

保存到fb时尝试使用row

toISOString

var _date = new Date().toISOString()