admin.firestore(...)。document在导出时不起作用

时间:2018-07-09 00:31:25

标签: firebase google-cloud-firestore

我正在运行由firebase实时数据库更改触发的云功能并更新FireStore。但是,尽管该函数触发了,但该函数无法访问Firestore。

exports.reveal = functions.database.ref('/reveals/{postIDthatWasRevealed}/revealed').onUpdate((change, context) => {
const revealedValue = change.after.val()

if (revealedValue === true) {
   var updates = {}
   const postID = context.params.postIDthatWasRevealed
   return admin.firestore().document('/posters/' + postID).get().then(querySnapshot => {

这时,控制台日志指出TypeError:admin.firestore(...).document is not a function at..我已经尝试了这个答案:Tried Answer但问题仍然存在。这是否与我正在访问Firebase云功能内部的firestore有关?我的云功能是否没有正确更新?

编辑(包括初始化代码)

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

此外,我尝试通过将功能更改为来调试该功能:

if (revealedValue === true) {
   var updates = {}
   const postID = context.params.postIDthatWasRevealed

   return admin.firestore()

现在,当我触发函数时,我得到Function execution took 811 ms, finished with status: 'ok'因此,似乎firestore函数是有效的,只是我的语法可能已关闭或者我可能忘记了一些东西

2 个答案:

答案 0 :(得分:3)

document()functions.firestore

的属性

admin.firestore()的等效项是collection().doc()

有关更多信息,请参见Firestore: Get Data

admin.firestore().collection('posters').doc(postID) ...

答案 1 :(得分:3)

使用doc()函数代替document()