FBFriendModel.find({
    id: 333
}, function (err, docs) {
    docs.remove(); //Remove all the documents that match!
});

上面的方法似乎不管用。记录还在那里。

有人能修好吗?


当前回答

使用remove()方法,您可以删除。

getLogout(data){
        return this.sessionModel
        .remove({session_id: data.sid})
        .exec()
        .then(data =>{
            return "signup successfully"
        })
    }

其他回答

要删除单个文档,您可以使用deleteOne()或remove()与single:true和deleteMany()或remove()删除多个文档:-

使用deleteOne ()

    syntax
    Model.deleteOne({conditions},function(err){});

    Example
     Model.deleteOne({title:"hi"},function(err){
        if(err)
        {
            res.send(err);
        }
        else{
            res.send("deleted");
        }
    });

2.使用remove ()

    syntax
    Model.remove({conditions},{single:true},function(err){});

    Example
     Model.remove({title:"hi"},{single:true},function(err){
        if(err)
        {
            res.send(err);
        }
        else{
            res.send("deleted");
        }
    });

3.用deleteMany ()

syntax
Model.deleteMany({conditions},function(err){});

    Example
     Model.deleteMany({title:"hi"},function(err){
        if(err)
        {
            res.send(err);
        }
        else{
            res.send("deleted");
        }
    });

使用remove ()

 syntax
    Model.remove({conditions},function(err){});

    Example
     Model.remove({title:"hi"},function(err){
        if(err)
        {
            res.send(err);
        }
        else{
            res.send("deleted");
        }
    });
db.collection.remove(<query>,
 {
  justOne: <boolean>,
  writeConcern: <document>
})

小心findOne和删除!

  User.findOne({name: 'Alice'}).remove().exec();

上面的代码删除了所有名为“Alice”的用户,而不仅仅是第一个用户。

顺便说一下,我更喜欢这样删除文档:

  User.remove({...}).exec();

或者提供一个回调函数并省略exec()

  User.remove({...}, callback);

这招对我很管用,试试这个:

const id = req.params.id;
      YourSchema
      .remove({_id: id})
      .exec()
      .then(result => {
        res.status(200).json({
          message: 'deleted',
          request: {
            type: 'POST',
            url: 'http://localhost:3000/yourroutes/'
          }
        })
      })
      .catch(err => {
        res.status(500).json({
          error: err
        })
      });

根据Samyak Jain的回答,我使用异步等待

let isDelete = await MODEL_NAME.deleteMany({_id:'YOUR_ID', name:'YOUR_NAME'});