此函数用于更新数据库中的多个集合。下面的代码是该函数,但返回错误500。
数据库结构 帖子(收藏)-> id(文档)->喜欢(收藏)和LikesCount(字段)
我需要检查是否存在喜欢集合,以便可以为喜欢集合创建文档(如果不存在),并且likesCount字段应更新为1。
我想知道是否也可以同时为用户集合和publicPosts集合更新不同的集合。还需要像下面的功能一样检查这些字段。
exports.updateLike = function (req, res) {
const postId = req.params.postId;
const userId = req.params.userId;
let postRef = db.collection("post").doc(postId)
postRef.collection("likes").doc(userId).get().then( doc => {
if (doc.exists) {
throw new Error("User already like the posts!")
} else {
postRef.collection("likes").doc(userId).set({
uid: userId,
createAt: admin.firestore.Timestamp.now()
})
//postRef.get().then( doc => {
//})
console.log("--- Operation Success ---")
return res.status(200).json({ "message" : "success" });
}
}).catch(err => {
console.log("--- Operation Failure ---")
return res.status(500).json(err);
});
};
答案 0 :(得分:1)
我发现了导致状态500出现的错误。
我从
if(doc.exists)
到
if(!doc.exists)