在Firebase中写入数据后读取数据

时间:2019-01-03 23:19:45

标签: javascript firebase firebase-realtime-database

在我的实时数据库中创建项目之后,我试图导航到特定ID。

该文档提供了一种解决方案,但它不能按所示方式工作。

在数据库引用上使用push()。set()方法后,我尝试创建一个回调函数,该函数将获取使用push。()。set()方法创建的特定ID,然后使用该ID进行导航。 / p>

db.ref.push().set({
    ...
}).then(function(){
    router.navigate(ref/ + db.ref.key /)
})

在该参考点创建新对象后,我想使用firebase创建的ID来导航到使用该ID的特定路由。

2 个答案:

答案 0 :(得分:2)

问题在于db.ref.push()返回具有唯一ID的 new 引用对象。您没有获得该ID的值。您可以重构事物,使其类似于:

let newref = db.ref.push();
newref.set({
  ...
})
.then( () => {
  // You can use "newref" here
  // The last part of the full reference path is in "key"
  let id = newref.key;

  // Do something with the id as part of your route
});

答案 1 :(得分:1)

  

设置

     
    

设置 value onComplete )=>返回firebase.Promise包含void

  

因此,您绝对应该能够通过回调看到操作已解决,但绝对没有错。

但是您应该可以链接此事件:

db.ref.push().set({
    ...
}).getKey().then(data => console.log(data))