【发布时间】:2017-05-25 15:38:44
【问题描述】:
我的实时数据库有这个结构
- userId1
- meta
- name
- data
- dataId1
- description
- dataId2...
- userId2....
我正在尝试监视对 dataIdx 的添加,但也想获取 name 字段。我尝试了以下方法,但滥用了 parent 方法。所以我想到了注释掉的行,但是.once 是异步的,这开始使我的代码更加复杂,而在examples 中有对set 的调用或多或少是同步的
exports.sendNotification = functions.database.ref('/{userId}/presents/{dataId}')
.onWrite(event => {
var eventSnapshot = event.data;
var person = eventSnapshot.parent().parent().child("meta").child("name").val();
// var person = admin.database().ref('/' + event.params.userId + '/meta/name').once().val();
let p = eventSnapshot.child("description").val();
console.log(`${person} added ${p}`);
这样做的正确方法是什么
【问题讨论】:
-
set不同步;它返回一个承诺。只是示例中的调用代码没有等待set调用解析或报错。 -
好的,我现在正在尝试基于 Promise 的解决方案
标签: firebase firebase-realtime-database google-cloud-functions