From 89ea3f5c1eb1ed77508d8dac39e9ae5960389be8 Mon Sep 17 00:00:00 2001 From: Aryanzs Date: Tue, 22 Aug 2023 23:37:46 +0530 Subject: [PATCH] curd feature added in tutorial.js --- models/tutorial.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/models/tutorial.js b/models/tutorial.js index b32ed42..5ef535f 100644 --- a/models/tutorial.js +++ b/models/tutorial.js @@ -13,3 +13,39 @@ const tutorialSchema = { // eslint-disable-next-line no-unused-vars const Tutorial = connector.model("Tutorial", tutorialSchema); + +/// CRUD Operations /// + +// Add a new tutorial to the database +async function create(tutorialData) { + const tutorial = new Tutorial(tutorialData); + const tutorialDoc = await tutorial.save(); + return tutorialDoc; +} + +// Retrieve tutorials based on a given filter and limit +async function read(filter, limit = 1) { + const tutorialDoc = await Tutorial.find(filter).limit(limit); + return tutorialDoc; +} + +// Update tutorials based on a given filter and update data +async function update(filter, updateObject, options = { multi: true }) { + const updateResult = await Tutorial.updateMany(filter, { $set: updateObject }, options); + return updateResult.acknowledged; +} + +// Delete tutorials based on a given filter +async function remove(filter) { + const deleteResult = await Tutorial.deleteMany(filter).exec(); + return deleteResult.acknowledged; +} + +// Export the CRUD functions +export default { + create, + read, + update, + remove, +}; +