350 Stimmen

Wie kann ich Dokumente mit Node.js Mongoose entfernen?

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

Das obige Verfahren scheint nicht zu funktionieren. Die Datensätze sind immer noch da.

Kann jemand helfen?

2voto

Supun Sandaruwan Punkte 997

Wenn Sie wissen _id des Dokuments können Sie verwenden findByIdAndDelete(id) und dies ist eine Abkürzung für findOneAndDelete({ _id: id }) .

import Question from '../models/Question';

const deleteQuestion = (questionId: string) => {
    try {
        Question.findByIdAndDelete(questionId);
    } catch (e) {
        console.error(e);
    }
};

ici questionId ist documentId ( _id )

1voto

MEAbid Punkte 540

Das hat bei mir funktioniert, probieren Sie es einfach aus:

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
        })
      });

1voto

Rishikesh Joshi Punkte 11

Um ein einzelnes Dokument zu löschen, können Sie deleteOne() oder remove() mit single:true und deleteMany() oder remove() zum Löschen mehrerer Dokumente verwenden :-

  1. Verwendung von deleteOne()

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

2. entfernen() verwenden

    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.mit deleteMany()

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

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

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

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

-2voto

Rushabh.js Punkte 11
db.collection.remove(<query>,
 {
  justOne: <boolean>,
  writeConcern: <document>
})

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X