我正在尝试创建一个firebase函数,该函数将创建我想要的文档,同时引用它所在的文档编号,并创建将链接到的另一个文档。
当前,我正在像这样创建文档。
exports.ClaimOnProject = (req, res) => {
if (req.body.body.trim() === "")
return res.status(400).json({ body: "Must not be empty" });
const newClaim = {
ProjectId: req.params.ProjectId,
body: req.body.body,
Progress: "new",
createdAt: new Date().toISOString()
};
console.log(newClaim);
db.doc(`/Project/${req.params.ProjectId}`)
.get()
.then(doc => {
if (!doc.exists) {
return res.status(404).json({ error: "Project not found" });
}
return doc.ref.update({ ClaimsCount: doc.data().ClaimsCount + 1 });
})
.then(() => {
return db.collection("Claim").add(newClaim);
})
.then(() => {
res.json(newClaim);
})
.catch(err => {
console.log(err);
res.status(500).json({ error: "Something went wrong" });
});
};
这是一个项目下的声明。
我希望它还在索赔下方创建一个工作流,该工作流目前已以此创建。
exports.WorkflowOnClaim = (req, res) => {
if (req.body.body.trim() === "")
return res.status(400).json({ Workflows: "Must not be empty" });
const newWorkflow = {
body: req.body.body,
createdAt: new Date().toISOString(),
ClaimId: req.params.ClaimId
};
console.log(newWorkflow);
db.doc(`/Claim/${req.params.ClaimId}`)
.get()
.then(doc => {
if (!doc.exists) {
return res.status(404).json({ error: "Claim not found" });
}
return doc.ref.update({ WorkflowsCount: doc.data().WorkflowsCount + 1 });
})
.then(() => {
return db.collection("Workflow").add(newWorkflow);
})
.then(() => {
res.json(newWorkflow);
})
.catch(err => {
console.log(err);
res.status(500).json({ error: "Something went wrong" });
});
};
和项目邮政编码
exports.postOneProject = (req, res) => {
if (req.body.Contract.trim() == "") {
return res.status(400).json({ Contract: "Body must not be empty" });
}
const newProject = {
Project: req.body.Project,
userHandle: req.user.handle,
Contract: req.body.Contract,
createdAt: new Date().toISOString()
};
db.collection("Project")
.add(newProject)
.then(doc => {
res.json({ message: `document ${doc.id} created successfuly` });
})
.catch(err => {
console.error("Error while verifying token ", err);
return res.status(403).json(err);
});
};
我的想法是-引用项目文档的Claimcount字段为索赔创建一个新名称,而不是body字段。
然后创建工作流程文档,并将其ID作为字段链接回声明。
预先感谢,我将在解决过程中发布解决方案!