【问题标题】:Firebase realtime database get parent node value .val()Firebase 实时数据库获取父节点值 .val()
【发布时间】:2020-04-27 08:42:05
【问题描述】:

我有以下代码在我的/users 对象树中查找特定更新。 这工作正常,但似乎有点多余,因为我已经引用了我想要的用户节点的子节点。

exports.onUserKeyHelloCreate = functions
.region('europe-west1')
.database
.ref('users/{userId}/hello')
.onCreate(async (snapshot, context) => {
  const userId = context.params.userId  
  let userData = null
  await database.ref(`users/${userId}`).once('value', (userSnapshot)=>{
    userData = userSnapshot.val()
  })
  console.log('userData', userData)

有没有更优雅的方式来访问整个用户节点,不需要额外往返.once('value')

亲切的问候 /K

【问题讨论】:

    标签: javascript firebase firebase-realtime-database google-cloud-functions


    【解决方案1】:

    如果您需要“users/${userId}”中的数据库的全部内容,那么您现在所做的确实是唯一的方法。

    虽然您不应该真正将回调的使用与once() 返回的承诺结合使用。使用 Promise 就足够了。

    const snapshot = await database.ref(`users/${userId}`).once('value');
    const userData = snapshot.val();
    console.log('userData', userData)
    

    【讨论】:

      猜你喜欢
      • 2020-05-12
      • 1970-01-01
      • 2019-04-13
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 2020-10-02
      • 1970-01-01
      相关资源
      最近更新 更多