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?

6voto

Doron Segal Punkte 2140

Sie können jederzeit die in Mongoose integrierte Funktion verwenden:

var id = req.params.friendId; //here you pass the id
    FBFriendModel
   .findByIdAndRemove(id)
   .exec()
   .then(function(doc) {
       return doc;
    }).catch(function(error) {
       throw error;
    });

5voto

Aktualisierung: .remove() ist veraltet, aber für ältere Versionen funktioniert es noch

YourSchema.remove({
    foo: req.params.foo
}, function(err, _) {
    if (err) return res.send(err)
    res.json({
        message: `deleted ${ req.params.foo }`
    })
});

4voto

corysimmons Punkte 6264

Ich mag dieses Muster sehr in async/await-fähig Express/Mongoose-Anwendungen:

app.delete('/:idToDelete', asyncHandler(async (req, res) => {
  const deletedItem = await YourModel
    .findByIdAndDelete(req.params.idToDelete) // This method is the nice method for deleting
    .catch(err => res.status(400).send(err.message))

  res.status(200).send(deletedItem)
}))

2voto

KARTHIKEYAN.A Punkte 14230

Mit der Methode remove() können Sie diese entfernen.

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

2voto

Renish Gotecha Punkte 1702

Wie pro Samyak Jain's Antwort, verwende ich Async Await

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

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