答案 0 :(得分:1)
最简单的方法是在对象中添加另一个子节点。将其称为date
并将日期另存为YYYYMMDD
。这为您提供了每个对象的日期戳。
然后你可以进行类似的查询
firebase.database()
.ref('/Button_Log')
.orderByChild('date')
.equalTo('20170818')
.once('value')
.then(snapshot => {
console.log(snapshot.numChildren()); // Number of records
});
否则如果你不想要一个新的孩子,你可以尝试类似的东西;
firebase.database()
.ref('/Button_Log')
.orderByChild('time')
.startAt('2017-08-10')
.endAt('2017-08-10 23:59:59')
.once('value')
.then(snapshot => {
console.log(snapshot.numChildren()); // Number of records
});
修改强>
Thomas建议您使用UNIX时间戳,因为它更灵活。
当节省数据时,将创建的时间戳设置为firebase.database.ServerValue.TIMESTAMP
,这将保存时间戳。
然后你可以进行类似的查询
var startOfDay = new Date();
startOfDay.setHours(0,0,0,0);
var endOfDay = new Date();
endOfDay.setHours(23,59,59,999);
firebase.database()
.ref('/Button_Log')
.orderByChild('timestamp')
.startAt(startOfDay)
.endAt(endOfDay)
.once('value')
.then(snapshot => {
console.log(snapshot.numChildren()); // Number of records
});