An Interest In:
Web News this Week
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
- April 20, 2024
- April 19, 2024
How to delete documents in mongo with mongoose
To delete one entry you can use findOneAndRemove
command - it issues a mongodb findAndModify
remove command.
Finds a matching document, removes it, passing the found document (if any) to the callback.
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; }};
An alternative is to use the deleteOne()
method which deletes the first document that matches conditions
from the collection. It returns an object with the property deletedCount
indicating how many documents were deleted:
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; }};
To delete multiple documents use the deleteMany
function. This deletes all the documents that match the conditions specified in filter. It returns an object with the property deletedCount
containing the number of documents deleted.
/** * Delete bookmarks of a user, identified by userId */let deleteBookmarksByUserId = async (userId) => { await Bookmark.deleteMany({userId: userId}); return true;};
Reference -
https://mongoosejs.com/docs/api/model.html
Shared with from Codever. Use copy to mine functionality to add it to your personal snippets collection.
Original Link: https://dev.to/ama/how-to-delete-documents-in-mongo-with-mongoose-5hh1
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To