【发布时间】:2017-08-31 11:03:32
【问题描述】:
我正在使用 Cloud Functions for Firebase,但我被一个看似非常基本的操作所困扰。
如果有人添加帖子,他会写信至/posts/。我希望将该帖子的一部分保存在另一个名为public-posts 或private-posts 的节点下,使用与初始帖子中使用的密钥相同的密钥。
我的代码是这样的
const functions = require('firebase-functions');
exports.copyPost = functions.database
.ref('/posts/{pushId}')
.onWrite(event => {
const post = event.data.val();
const smallPost = (({ name, descr }) => ({ name, descr }))(post);
if (post.isPublic) {
return functions.database.ref('/public-posts/' + event.params.pushId)
.set(smallPost);
} else {
return functions.database.ref('/private-posts/' + event.params.pushId)
.set(smallPost);
}
})
我得到的错误信息是:functions.database.ref(...).set is not a function。
我做错了什么?
【问题讨论】:
-
我是不是在不应该的地方使用了复数函数?现在就来测试一下……
-
哦,等一下,我需要调用database(),对吧?我猜“功能”应该仍然是“功能”?
标签: node.js firebase firebase-realtime-database google-cloud-functions