javascript - 如何从另一个节点事件触发的“onWrite”函数中访问 Google Cloud Function 中的特定节点?
问题描述
创建新节点时,我想创建相同的数据并将其推送到不同的节点。
Door/111111111111/ins节点是我将新数据推送到的节点:
root: {
doors: {
111111111111: {
MACaddress: "111111111111",
inRoom: "-LBMH_8KHf_N9CvLqhzU",
ins: {
// I am creating several "key: pair"s here, something like:
1525104151100: true,
1525104151183: true,
}
}
},
rooms: {
-LBMH_8KHf_N9CvLqhzU: {
ins: {
// I want the function to clone the same data here:
1525104151100: true,
1525104151183: true,
}
}
}
这是我抛出错误的函数:
类型错误:change.before.ref.parent.child(...).val 不是函数
代码:
exports.updateRoom = functions.database.ref('/doors/{MACaddress}/ins').onWrite((change, context) => {
const beforeData = change.before.val(); // data before the write
console.log(beforeData); // all good so far
const afterData = change.after.val(); // data after the write
console.log(afterData); // all good so far
const roomPushKey = change.before.ref.parent.child('/inRoom').val(); // ERROR
console.log(roomPushKey);
return change.after.ref.parent.parent.parent.child('/rooms').child(roomPushKey).child('/ins').set(afterData);
});
我的路径有什么问题?我怎样才能让它更新另一个节点?
解决方案
推荐阅读
- ios - 应用分发期间缺少配置文件
- visual-studio-code - Visual Studio Code 无故重建
- ios - ios 不会本地化有关照片访问受限的警报
- linux - 如何使用密码添加限制为 ssh 隧道的新 Linux 用户?
- permissions - 实体不可通过 api 访问
- javascript - 为什么我不能在 Angular 中获得以前的路线或网址?
- rabbitmq - 如何仅使用队列中的部分消息
- c++ - 如何将 Makefile 转换为 ROS CmakeList.txt
- docker - Laravel Sail 安装 puppeteer 铬
- python - 根据另一个数组的值(未排序,但分组)将 NumPy 数组拆分为子数组