So löschen Sie Dokumente in Mongo mit Mongoose

Um einen Eintrag zu löschen, können Sie findOneAndRemove verwenden Befehl - es gibt ein mongodb findAndModify aus Befehl entfernen.
Findet ein übereinstimmendes Dokument, entfernt es und übergibt das gefundene Dokument (falls vorhanden) an den Rückruf.

let deleteBookmarkById = async (userId, bookmarkId) => {
  const bookmark = await Bookmark.findOneAndRemove({
    _id: bookmarkId,
    userId: userId
  });

  if ( !bookmark ) {
    throw new NotFoundError('Bookmark NOT_FOUND with id: ' + bookmarkId);
  } else {
    return true;
  }
};

Eine Alternative ist die Verwendung von deleteOne() Methode, die das erste Dokument löscht, das conditions entspricht aus der Sammlung. Es gibt ein Objekt mit der Eigenschaft deletedCount zurück Angabe, wie viele Dokumente gelöscht wurden:

let deleteBookmarkById = async (userId, bookmarkId) => {
  const response = await Bookmark.deleteOne({
    _id: bookmarkId,
    userId: userId
  });

  if ( response.deletedCount !== 1 ) {
    throw new NotFoundError('Bookmark NOT_FOUND with id: ' + bookmarkId);
  } else {
    return true;
  }
};

Um mehrere Dokumente zu löschen, verwenden Sie den deleteMany Funktion. Dadurch werden alle Dokumente gelöscht, die den im Filter angegebenen Bedingungen entsprechen. Es gibt ein Objekt mit der Eigenschaft deletedCount zurück enthält die Anzahl der gelöschten Dokumente.

/**
 * Delete bookmarks of a user, identified by userId
 */
let deleteBookmarksByUserId = async (userId) => {
  await Bookmark.deleteMany({userId: userId});
  return true;
};


Referenz -

https://mongoosejs.com/docs/api/model.html