Javascript 从云函数中的父级获取数据?

Javascript 从云函数中的父级获取数据?,javascript,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Firebase,Firebase Realtime Database,Google Cloud Functions,我想将父级中的name值分配给一个常量 exports.myFunction = functions.database.ref('/messages/{pushId}/likes') .onWrite(event => { const name = event.parent.data.val().name; // this doesn't work. how do I properly get the name which is located in /messages/{pu

我想将父级中的name值分配给一个
常量

exports.myFunction = functions.database.ref('/messages/{pushId}/likes')

.onWrite(event => {

    const name = event.parent.data.val().name; // this doesn't work. how do I properly get the name which is located in /messages/{pushId} ?
    });

根据,这是您从其他路径访问数据的方式:

exports.myFunction = functions.database.ref('/messages/{pushId}/likes')
.onWrite(event => {
     return event.data.ref.parent.child('name').once('value').then(snapshot => {
        const name = snapshot.val();
    });
});
版本更新后


你确定这样行吗?路径仅列出到…/likes,它如何知道键名的值?不幸的是,我得到
TypeError:event.data.ref.parent.child(…).val不是函数
@J.Doe不要混淆。我不想要钥匙的名字!珍。不幸的是,我得到了
TypeError:event.data.ref.parent.child(…).val不是函数
谢谢你的回答thogh@Kolop复制并粘贴Jen的答案,效果很好。如果要获取名称数据,需要添加一个值侦听器。不能只调用
event.data.ref.parent.child('name').val
。请参阅,然后
exports.myFunction = functions.database.ref('/messages/{pushId}/likes')
.onWrite((change, context) => {
 return change.after.ref.parent.child('name').once('value').then(snapshot => {
    const name = snapshot.val();
});