我已经做了一个反应组件,每次我的猫被喂食时记录。但是目前它不会自动为每天创建一个新的空日志。我正在尝试添加一种方法来在每天午夜创建一个新条目,但是为了使它与我现有的组件一起工作,每个新条目都需要以'DD-MM-YYYY'格式命名。虽然我可以将组件重新设计为不使用它,但是当我进入firebase以查看日志已创建的日期并且不希望更改它时,它一目了然。
所以这是我的问题:每当我尝试执行以下操作时,firebase会忽略我的日期格式并将随机密钥放入其中:
this.midnightCheck = () => {
// If it is midnight, update the state
if(moment().format('HH:mm') === '00:00') {
this.dbroot.push(moment().format('DD-MM-YYYY')).child('date').set(moment().format('DD-MM-YYYY'))
}
}
我也尝试了这个.dbroot.set()但是这不起作用,因为它要求childref首先存在。
更新:我刚刚尝试了以下技术工作,但它也覆盖了整个参考,而不是仅仅为参考添加新日期。
this.midnightCheck = () => {
// If it is midnight, update the state
if(moment().format('HH:mm') === '18:34') {
console.info('midnightCheck is updating the state')
this.dbroot.child(moment().format('DD-MM-YYYY')).set({
date : moment().format('DD-MM-YYYY'),
logs : {}
})
}
}
有什么建议吗?
答案 0 :(得分:1)
当您致电push()
时,Firebase会将数据写入具有自动生成的推送ID的新位置。
如果您想自己确定新孩子的姓名,请致电child()
:
var date = moment().format('DD-MM-YYYY');
this.dbroot.child(date).child('date').set(date)