我正在使用mongoose和mongodb 4.2.8和Node.js 14.4.0。我正在尝试查找具有正确的名字和姓氏的第一个文档并将其删除,但是findOneanddelete,deleteOne和findOneandremove都将具有正确的名字和姓氏的文档都删除了两次。所有这些功能仅是假定要删除一个文档,所以我很困惑为什么要删除两个文档。 我想在这里删除service.deleteperson函数中的一个文档。
return Person.findOneAndDelete({first_name: data.first_name, last_name: data.last_name},
function(err, response){
if(err || !response) console.log({message: "Error in deleting "+data.first_name + " "+data.last_name });
else console.log(response);
});
答案 0 :(得分:0)
您可以尝试这种方式:
Person.findOne({first_name: data.first_name, last_name: data.last_name})
.then((doc)=>{
Person.deleteOne({ _id: doc_id }, function (err) {});
});