gpt4 book ai didi

javascript - Firebase:创建命名子引用

转载 作者:行者123 更新时间:2023-12-03 04:51:11 27 4
gpt4 key购买 nike

我制作了一个 react 组件,每次我的猫被喂食时都会记录下来。然而目前它不会自动为每一天创建一个新的空日志。我正在尝试添加一种方法来每天午夜创建一个新条目,但为了使其能够与我制作的现有组件一起使用,每个新条目都需要以“DD-MM-YYYY”格式命名。虽然我可以重新设计该组件以不使用它,但当我进入 firebase 查看日志的创建日期并且不想更改它时,它一目了然。

所以这是我的问题:每当我尝试执行以下操作时,firebase 都会忽略我的日期格式并放入随 secret 钥:

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

我也尝试过 this.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 : {}
})
}
}

有什么建议吗?

最佳答案

当您调用 push() 时,Firebase 会使用自动生成的推送 ID 将数据写入新位置。

如果您想自己确定新 child 的名称,请调用child():

var date = moment().format('DD-MM-YYYY');
this.dbroot.child(date).child('date').set(date)

关于javascript - Firebase:创建命名子引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42654453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com