我正在尝试将一段数据发布到我的Cloud Firestore中的某个位置。 Cloud Function本身通过HTTPS切换。对于request.body
我正在使用bodyParser.json
方法。
notifull.post('/postNote', (request, response) => {
// grab variables and files from body and query strings
var subject = request.body.subject;
var category = request.body.category;
var subcategory = request.body.subcategory;
var title = request.body.title;
var id = request.body.id;
var userID = request.body.userID;
// add data to collection
var referenceString = `${subject}/${category}/${subcategory}/${id}`;
var reference = admin.firestore().doc(referenceString);
reference.set({
"title": title,
"id": id,
"userID": userID,
"timestamp": Date.now(),
"upvotes": 0
});
// update user posts???
});
我希望在参考文献中有一个小文档。
相反,返回的是500内部服务器错误。
日志中的错误是“TypeError:admin.firestore不是函数”。我正在使用firebase-admin版本4.2.1。
答案 0 :(得分:1)
您正在使用旧版本的firebase-admin。直到最近才添加Firestore支持。安装最新版本:
npm install firebase-admin@latest
此外,每个HTTPS函数都应该为每个可能的代码路径返回客户端的响应,并且只有在函数中完成所有工作后才会返回。
reference.set({
"title": title,
"id": id,
"userID": userID,
"timestamp": Date.now(),
"upvotes": 0
})
.then(() => {
response.send("OK")
})
.catch(error => {
response.status(500).send(error)
})