firebase realtime DB:TypeError:无法将未定义或空转换为对象
2018-10-01
474
我有如下查询
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个回答
您可能犯了与昨天的其他问题相同的错误: firebase realtime DB 查询两个日期之间的日期不匹配任何内容
因此,原因可能是因为
begDate
和
endDate
是数字,但您将
_date
作为字符串存储在数据库中。
Renaud Tarnec
2018-10-01
保存到 fb 时尝试使用
toISOString
var _date = new Date().toISOString()
和
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDate();
var begDate = new Date(year - 1, month, day).toISOString();
var endDate = new Date(year + 1, month, day).toISOString();
PHILL BOOTH
2018-10-01