result2
我有一个语句const post = database.database().ref("/redux-todo/");
let obj={
value
}
let request = post.push(obj)
console.log(request.key);
,它按预期工作。但是,当执行语句console.log(request.key)
时,它会给出console.log(request.val())
不是函数的错误。
request.val
请帮忙。
答案 0 :(得分:1)
如果您想在数据库中的某个位置获取数据,则必须query for it。你不能只创建一个引用并在其上调用val()。
我建议你考虑在数据库参考上使用once()到fetch the data那个位置。
答案 1 :(得分:1)
如果您将值推送到firebase节点,这背后的原因是返回推送数据后创建的新节点的密钥。
要从firebase获取值,您应该使用child_added
事件查询新创建的节点,每当推送新节点时调用该事件并返回子节点的val()
对象。同样
const post = database.database().ref("/redux-todo/");
let obj={
value
}
let request = post.push(obj)
// the child added event is called whenever you pushed a child into your node in firebase and we can query it using on() function to get the value of child added.
post.on("child_added", snapshot => {
console.log(snapshot.val())
})
注意:如果使用对象添加多个子节点,则会为每个创建的节点多次调用child_added
事件。