2 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
要在云函數(shù)中創(chuàng)建文檔,則需要使用 admin sdk,所以首先安裝包:
npm install firebase-admin --save
初始化 admin sdk:
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault()
});
const db = admin.firestore();
然后你可以添加:
const mailRef = db.collection('mail')
return mailRef.add({
email: email,
subject: 'Welcome'
});
https://googleapis.dev/nodejs/firestore/latest/CollectionReference.html#add

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
我知道這有點(diǎn)晚了,以防萬(wàn)一有人發(fā)現(xiàn)自己有同樣的問題。當(dāng)您使用 set() 創(chuàng)建文檔時(shí),您必須為要?jiǎng)?chuàng)建的文檔指定一個(gè) ID。所以基本上上面的代碼只需要稍微調(diào)整如下
exports.sendEmail = functions.firestore.document('/Users/{documentId}')
.onCreate((snap, context) => {
const username = snap.data().username;
const email = snap.data().email;
const uid = context.params.documentId //get the doc ID
const alternateUid = //you can generate a random ID here
console.log(username, email)
const mailRef = firestore.collection("mail").doc(uid)
return mailRef.set({
email: email,
subject: 'Welcome'
});
});
但有時(shí)文檔沒有有意義的 ID,或者您不想使用上述任何內(nèi)容。然后讓 Cloud Firestore 為您自動(dòng)生成 ID 會(huì)更方便。您可以通過(guò)調(diào)用 add() 來(lái)做到這一點(diǎn),例如
const mailRef = firestore.collection("mail")
return mailRef.add({
email: email,
subject: 'Welcome'
})
添加回答
舉報(bào)