我正在更新projects
集合中的文档。如下所示:
项目收藏
"_id" : ObjectId("5c2df5ccfb98b328c470597b"),
"clientName" : "abc",
"attachments" : [],
"status" : "ongoing",
"assignId" : ObjectId("5c2df3c3fb98b328c4705979"),
"upworkId" : ObjectId("5c2df956b84e902678f416fa")
现在,我从客户端获取的 upworkId 字段为空或为空,但是却获得了clientName
,status
和attachments
的新值。因此,我想删除upworkId
字段并更新 project 集合中的其他字段值。我该怎么办?
我当前的更新查询是:
Project.findByIdAndUpdate(req.params.id, req.body)
.then((project) => {
if (!project)
res.status(400).json({message: MESSAGE.PROJECT_NOT_FOUND});
else
res.status(302).json({message: MESSAGE.PROJECT_UPDATED_SUCCESS});
})
注意:我需要从特定文档的集合中删除该字段,我不想从对象中删除该字段。
答案 0 :(得分:0)
Project.findByIdAndUpdate(req.params.id, req.body)
.then((project) => {
if (project.length<0)
then use $unset. Project.findByIdAndUpdate(req.params.id, { $set: req.body, $unset: { upworkId: '' } })
console.log(result)
else
res.send('update sucessfully ')
})