typescript - Firebase云功能不是写通配符的内容,而是通配符的名称
问题描述
当我使用云功能写入实时数据库时,我不断在数据库中获取“myUID”,而不是通配符的内容(实际的 uid)。我的语法有问题吗?
另外,我在函数中有异步,因为在发布之前我删除了其他一些事情。函数运行和写得很好,但我想写myUID的内容而不是字面上写“myUID”
export const userFollow = functions.database
.ref ('/user-following/{myUID}/{targetUID}')
.onCreate(async(snapshot, context) => {
const myUID = context.params.myUID
const targetUID = context.params.targetUID
const ref = admin.database().ref(`/user-followers/${targetUID}`)
return ref.set({myUID : 1})
})
解决方案
当对象属性按照您现在的名称命名时,JavaScript 会按字面意思获取对象属性的名称。如果要将变量的值用作属性的名称,请使用方括号语法:
ref.set({[myUID] : 1})
推荐阅读
- javascript - 当有一些价值时如何使textarea扩展
- keras - tensorflow-lite tf.lite.Interpreter set_tensor 无法正确识别 uint8 输入张量
- ruby-on-rails - 为什么我在部署到 Heroku 后在浏览器中查看我的应用程序时只看到一个空数组?
- plot - 我可以根据计数结果创建图表吗
- python-3.x - 更改为对数比例,同时在 Seaborn 联合图中的两个轴上移动边缘直方图的垂直比例
- tabulator - 制表符,如何仅更新 1 行的 1 个单元格?
- c# - 循环遍历 GTK# 树视图中节点的子节点
- python - 更改目录时自定义文件不起作用
- javascript - 根据在 .html 键盘中按下的修饰键更改数据键值
- python - 不附加到列表