gpt4 book ai didi

firebase - 使用云函数在firestore中创建文档

转载 作者:行者123 更新时间:2023-12-03 06:26:16 25 4
gpt4 key购买 nike

在我的应用程序中验证用户身份后,我想创建一个云函数,在我的 firestore userProfile 集合中为他们创建用户配置文件文档。

这是我的云功能的整个index.js文件

// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
const functions = require('firebase-functions');

// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

//function that triggers on user creation
//this function will create a user profile in firestore database
exports.createProfile = functions.auth.user().onCreate(event => {
// Do something after a new user account is created
return admin.firestore().ref(`/userProfile/${event.data.uid}`).set({
email: event.data.email
});
});

这是我收到的错误

TypeError: admin.firestore(...).ref is not a function
at exports.createProfile.functions.auth.user.onCreate.event (/user_code/index.js:13:30)
at Object.<anonymous> (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:59:27)
at next (native)
at /user_code/node_modules/firebase-functions/lib/cloud-functions.js:28:71
at __awaiter (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:24:12)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:53:36)
at /var/tmp/worker/worker.js:695:26
at process._tickDomainCallback (internal/process/next_tick.js:135:7)

在 firestore 云数据库中,我有一个名为 userProfile 的集合,其中应使用身份验证后为用户提供的唯一 ID 创建文档

最佳答案

admin.firestore()返回 Firestore 的实例目的。正如您从 API 文档中看到的,Firestore 类没有 ref() 方法。您可能会将其与实时数据库 API 混淆。

Firestore 要求您在集合中组织文档。要访问文档,您可以执行以下操作:

const doc = admin.firestore().doc(`/userProfile/${event.data.uid}`)

这里,docDocumentReference 。然后您可以像这样设置该文档的内容:

doc.set({ email: event.data.email })

请务必阅读 Firestore documentation了解如何设置 Firestore - 它与实时数据库有很多不同的地方。

关于firebase - 使用云函数在firestore中创建文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47659525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com