deleteOne,findOneandDelete,findOneandremove都将删除两个文档

时间:2020-07-07 07:28:16

标签: node.js mongodb mongoose

我正在使用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);
   });

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式:

Person.findOne({first_name: data.first_name, last_name: data.last_name})
   .then((doc)=>{
    Person.deleteOne({ _id: doc_id }, function (err) {});
});