【发布时间】:2017-11-24 09:58:01
【问题描述】:
我有以下(示例)数组:
pages = [ {
"name" : "Hello",
"id" : 123
},{
"name" : "There",
"id" : 987
},{
"name" : "Great",
"id" : 555
} ];
我想将此数组中的每个对象保存为集合中的文档。 因此我有以下功能:
exports.testSaveFacebookPages = functions.https.onRequest((req, res) => {
cors(req, res, () => {
let userUid = req.body.uid
// pages array is available here...
const PagesRef = admin.firestore().collection(`/users/${userUid}/pages/`)
return pages.forEach(function(page, index){
PagesRef.doc(`p${index}`).update(page, { merge: true })
});
res.status(200).send('Pages saved successfull!');
}); // cors...
}); // exports...
当函数被执行时,它会将页面保存到 Firestore :) 但似乎该函数在循环中执行。日志说:
Function execution started
Function execution took 60002 ms, finished with status: 'timeout'
我读过:Cloud Functions with Firestore error "Dealine Exceeded" 和 https://firebase.google.com/docs/functions/terminate-functions
但我找不到任何带有 forEach 的云函数示例。 任何帮助都会很棒!
【问题讨论】:
标签: javascript firebase google-cloud-functions google-cloud-firestore