Android 如何使用云函数(Typescript)在Firebase实时数据库的.ref(/path)之外创建新的父节点?

Android 如何使用云函数(Typescript)在Firebase实时数据库的.ref(/path)之外创建新的父节点?,android,typescript,firebase,firebase-realtime-database,google-cloud-functions,Android,Typescript,Firebase,Firebase Realtime Database,Google Cloud Functions,因此,基本上我希望我的云函数在“代理”中有新节点时创建一个名为“Civil”的新父节点。 以下是我尝试的代码: import * as functions from 'firebase-functions'; export const addCivilData = functions.database .ref('/Agent/{AgentID}') .onCreate((snapshot, context) => { const userData = snapshot.val

因此,基本上我希望我的云函数在“代理”中有新节点时创建一个名为“Civil”的新父节点。 以下是我尝试的代码:

import * as functions from 'firebase-functions';

export const addCivilData = functions.database
.ref('/Agent/{AgentID}')
.onCreate((snapshot, context) => {

    const userData = snapshot.val() 
    const newUsername = userData.username
    const defCivilStatus: string = "new"

    return snapshot.ref.parent?.child('Civil').child(`${newUsername}`).update(`${defCivilStatus}`)
})
那个?之后,父对象由VSCODE自动生成,并显示有关鼠标指针悬停的一些规则

如果我删除那个“?”,它会在
snapshot.ref.parent
上显示红色下划线

我想创建一个父节点“Civil”和子节点,用户名为fetched,并将其值设置为defCivilStatus。 请帮忙

编辑: 其他错误截图

您可以尝试以下方法:

const functions = require('firebase-functions');

// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.addCivilData = functions.database
.ref('/Agent/{AgentID}')
.onCreate((snapshot, context) => {

 const userData = snapshot.val();
 console.log('userData', userData);
 const newUsername = userData.username;
 console.log('newUsername', newUsername);
 const defCivilStatus = "new";
         return snapshot.ref.parent.parent.child('Civil').child(`${newUsername}`).set(`${defCivilStatus}`);
});
并遵循firebase func。日志

使用
符号表示IDE在返回快照的行上显示任何错误。参考…
如下代码所示:

return snapshot.ref.parent!.parent!.child('Civil').child(`${newUsername}`).set(`${defCivilStatus}`);

我很快会让你知道结果的。繁忙的自动取款机。但你们能解释一下这是如何解决最后一行中的家长问题的吗?我希望家长不是空的。但问题是tbh吗?问题不是ref.parent。问题是更新函数。在这一行。更新失败在返回行之前有一个
console.log(“”
)。它工作正常,但返回语句出错。因此,返回语句可能是错误。我是否可以使用
exports const addCivilData
而不是
exports。addCivilData
?在文档中没有此类用途注释不用于扩展讨论;这段对话已经结束。