创建新用户后,我想向Firestore中的新集合添加数据。
我已将我的职能设置为这样;
exports.createUser = functions.firestore.document('Users/{userId}')
.onCreate((snap, context) => {
const newValue = snap.data();
if (snap.data() === null) return null;
const userRef = context.params.userId
console.log("create user found " + (userRef))
let notificationCollectionRef = firestoreDB.collection('Users').document(userRef).collection('Notifications')
let notificationDocumentRef = notificationCollectionRef.document('first notification')
return notificationDocumentRef.set({
notifications: "here is the notificiation"
}, {merge: true});
});
当运行该函数时,我得到控制台日志正确地打印出userId,但我得到以下错误;
类型错误:firestoreDB。集合(…)。文档不是导出时的函数。createUser。功能。消防商店。文件在对象上创建(/user\u code/index.js:23:73)。(/user_code/node_modules/firebase functions/lib/cloud functions.js:112:27)在下一个(本地)at/user_code/node_modules/firebase functions/lib/cloud functions。js:28:71在cloudFunction(/user\u code/node\u modules/firebase functions/lib/cloud functions.js:24:12)在cloudFunction(/user\u code/node\u modules/firebase functions/lib/cloud functions.js:82:36)在/var/tmp/worker/worker。js:728:24在程序中_tickDomainCallback(内部/process/next_tick.js:135:7)
我是新来的JS
以下是完整的工作代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firestore);
const firestoreDB = admin.firestore()
// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase Cloud Functions!");
console.log("function triggered")
});
exports.createUser = functions.firestore.document('Users/{userId}')
.onCreate((snap, context) => {
const newValue = snap.data();
if (snap.data() === null) return null;
const uid = context.params.userId
let notificationCollectionRef = firestoreDB.collection('Users').doc(uid).collection('Notifications')
return notificationCollectionRef.add({
notification: 'Hello Notification',
notificationType: 'Welcome'
}).then(ref => {
return console.log('notification successful', ref.id)
})
});
firestoreDB。集合(“用户”)
返回一个CollectionReference
对象。您试图调用名为document()
的方法,但是从API文档中可以看到,没有这样的方法。我想您打算使用doc()
来构建DocumentReference
。
let notificationCollectionRef = firestoreDB.collection('Users').doc(userRef).collection('Notifications')
let notificationDocumentRef = notificationCollectionRef.doc('first notification')
云功能文档说 //使用Firebase管理SDK访问Firebase实时数据库。const admin=require('firebase-admin');管理初始化EAPP(); 我使用的是Cloud Firesta,而不是实时数据库。我如何访问它?
danger 以下操作仅适用于 SDK version >= 1.3.0a,该版本还在内测阶段,仅面向受邀用户开放,详情请咨询客服 BaaS.invokeFunction(functionName, params, sync) 参数说明 参数 类型 必填 说每个 functionName String 是 云函数名 params Object 否 传递给云函数的参数 sync Bool 否 是否等
我正在尝试部署GCP云功能 gcloud函数部署MyFunction--设置env vars EXPRESSPORT=0000,CODEENV=PRE--region=europe-west1--入口点MyPoint--运行时节点JS12--触发http--允许未经身份验证--入口设置=all--内存=256--超时=30 但我找不到可以在Web控制台中设置“必需的HTTPS”的标志: 有人知道说
路径1-match_creator/cricket/matchlists;路径2-match_creator/cricket/completedmatchlists;我有一个名为matchList(路径1)的集合,其中有一个名为C434108的文档。现在我想把这个docc434108)移动到路径2; 复制此docc434108)之后,我想从路径1中删除此docc434108)。 我的index.j
我遇到过一些不同寻常且有趣的技术,以及使用Spring云函数拆分业务和技术实现的方法,该函数支持java的实现。util。函数类充当endpoint 简而言之,有一个简单的静态列表 下面的Bean根据方法名称及其返回类型启用指定的endpoint: 问题: > 可以使用java中的一个或多个类来实现完全兼容REST的解决方案。util。功能组合?我只能写上面的那些。我对以下模式特别感兴趣: 如何避
问题内容: 今天,我以前曾被教过如何在此答案中(。单击)在.NET中的SQL查询中设置参数。 使用带有值的参数很好,但是当我尝试将数据库中的字段设置为null时,我将失败。该方法认为我未设置有效参数或未指定参数。 例如 有什么我想念的吗?我做错了吗? 问题答案: 您需要DBNull .Value。 在共享的DAL代码中,我使用的辅助方法只是执行以下操作: