Javascript react firebase上的“admin.firestore.collection不是函数”-如何传递启动的管理对象?
我有一个小的云函数,当有人被邀请参加一个项目时会触发。它应该将通知保存在/users/{id}/annotations中 这一切都很好,没有任何错误。关键部分是“sendAnnotationadmin,userId,payload”,定义如下:Javascript react firebase上的“admin.firestore.collection不是函数”-如何传递启动的管理对象?,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,我有一个小的云函数,当有人被邀请参加一个项目时会触发。它应该将通知保存在/users/{id}/annotations中 这一切都很好,没有任何错误。关键部分是“sendAnnotationadmin,userId,payload”,定义如下: export function sendAnnotation(admin, userId, payload) { console.log('Invitation sent to ' + userId + ' with payload: ' + J
export function sendAnnotation(admin, userId, payload) {
console.log('Invitation sent to ' + userId + ' with payload: ' + JSON.stringify(payload))
admin.firestore
.collection(`/users/${userId}/annotations`)
.add(payload)
.catch( err => {
console.log(err.message || err)
})
}
admin.firestore().collection(...)
admin.firestore.collection(...)
此处,firebase控制台打印admin.firestore.collection不是一个函数。由于admin.firestore.collection的语法与文档中的语法完全相同,我想知道传递启动的admin对象是否有任何问题
有什么想法吗?您显示的两位代码并不完全相同。第一次使用admin SDK时,您这样称呼它:
export function sendAnnotation(admin, userId, payload) {
console.log('Invitation sent to ' + userId + ' with payload: ' + JSON.stringify(payload))
admin.firestore
.collection(`/users/${userId}/annotations`)
.add(payload)
.catch( err => {
console.log(err.message || err)
})
}
admin.firestore().collection(...)
admin.firestore.collection(...)
第二次使用时,您这样称呼它:
export function sendAnnotation(admin, userId, payload) {
console.log('Invitation sent to ' + userId + ' with payload: ' + JSON.stringify(payload))
admin.firestore
.collection(`/users/${userId}/annotations`)
.add(payload)
.catch( err => {
console.log(err.message || err)
})
}
admin.firestore().collection(...)
admin.firestore.collection(...)
admin.firestore是一个函数,而不是属性,因此您需要将其作为函数调用。哦,就是这样!非常感谢。