json - 如何获取通过 .onWrite 云函数事件返回的动态通配符子键的值?
问题描述
我在具有以下 JSON 嵌套结构的路径上设置了 Firebase 云函数观察器:
$myUID: {
places : {
$placeID: {
$myUID_checkedIn = "false"; [line4]
$someoneElseUID_checkedIn = "true";
},
}
}
观察者被设置为观察:
exports.observePlaces = functions.database.ref('users/{userID}/places/{placeID}').onWrite((change,context)
我想从 [line4] 中的 JSON 结构中检索动态键“$myUID_checkedIn”的值。
我尝试使用类似的东西:
const uid = context.params.userID; //VALID
const dataSnapshot = change.after.val(); //VALID
const isCheckedIn = dataSnapshot.(`${uid}_checkedIn`); //INVALID [line11]
但是,我无法使用这种方法检索 [line11] 中动态键的值。
考虑到我的数据的结构方式,这可能实现吗?
如果是这样,我应该如何去检索这个值?
解决方案
当属性名称不是文字标识符时,您需要使用 JavaScript 正确索引它们。方括号用于此:
const isCheckedIn = datasnapShot[`${uid}_checkedIn`]
推荐阅读
- python - 如何在 Python 中删除表格行
- python - 编写此代码的正确方法是什么?
- windows - IDA 6.8 撤消操作
- excel - 在 MS Excel 中检索空白单元格的标题列表
- javascript - Javascript中2个类之间的数据传输
- scala - 使用scala将句子中存在的多个表情符号添加到数组中
- powershell - 在 PowerShell 中尝试/捕获使用 Invoke-SQLCmd 不起作用
- aws-lambda - 使用 SQS 触发的无服务器不将输出发送到配置的目标
- html - 媒体查询不适用于 IsotopeJS 网格项目
- python - 你如何跳过python中的一些代码行?