javascript - 如何在云函数中访问 firebase 数据库中的另一个数据?

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

<分区>

我正在使用 Firebase 实时数据库并尝试在名为 ignore 的字段添加到我的数据库时创建触发器。但我首先想访问数据库中的另一个数据并在我的函数中使用 if 。我的函数如下所示:

exports.dbTest2 = functions.database.ref('/{uid}/ignore')
  .onCreate((snapshot, context) => {

    const uid = context.params.uid
    console.log(`Current User ${uid}`)

    // Data added at the location
    const ignoreData = snapshot.val()
    const endTime = new Date(ignoreData.endTime).toString()

    const scheduleRef = snapshot.ref.parent.child('schedule')
    console.log(scheduleRef)

    let scheduleArr = [ /*something*/ ]
    return snapshot.ref.parent.child('schedule').set(scheduleArr)

  });

我的数据库看起来像这样:

enter image description here

从我当前的引用路径 {uid}/ignore 我想获取 schedule 引用中的第一个元素(在图像中圈出)。在我上面的代码中,我试图通过控制台记录引用,但似乎没有这种方法可以从该对象获取值。

如何在我的云函数中获取图像中圈出的对象?

最佳答案

尝试像这样嵌套 functions.database.ref:

exports.dbTest2 = functions.database.ref('/{uid}/ignore')
    .onCreate((snapshotIgnore, context) => {

      const uid = context.params.uid;

      admin.database().ref(`/${uid}/schedule`).once('value', snapshotSchedule => {
        console.log(snapshotSchedule.val()[0]);
      });
    });

关于javascript - 如何在云函数中访问 firebase 数据库中的另一个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781087/

相关文章:

javascript - jQuery Deferred 仅返回循环中的最后一个值

arrays - swift - 获取并附加 Firebase 值的函数返回空字符串

javascript - 如何从 firebase 存储 state_changed 事件中获取下载图片 url?

ios - 在 Firebase iOS SDK 中更新实时数据库对象

javascript - jQuery ajaxForm beforeSubmit 在 document.ready 上触发

javascript - 让 Chartjs 显示数据标签的键而不是值

javascript - 来自 Javascript 的 REST 调用 VS ASP.NET Controller REST 调用

javascript - 如果其中一个参数包含多个值,如何使用柯里化(Currying)函数工作?

android - 应用程序在从 firebase 访问数据并将其设置为变量时崩溃

ios - 当应用程序关闭时,在内存中保留一个 Firebase 监听器