Skip to content

Commit 2c6d7f8

Browse files
Merge pull request #233 from Aryanzs/development
[Feature] Added CRUD in Tutorial Model #217
2 parents b1069ac + 89ea3f5 commit 2c6d7f8

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

models/tutorial.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,39 @@ const tutorialSchema = {
1313

1414
// eslint-disable-next-line no-unused-vars
1515
const Tutorial = connector.model("Tutorial", tutorialSchema);
16+
17+
/// CRUD Operations ///
18+
19+
// Add a new tutorial to the database
20+
async function create(tutorialData) {
21+
const tutorial = new Tutorial(tutorialData);
22+
const tutorialDoc = await tutorial.save();
23+
return tutorialDoc;
24+
}
25+
26+
// Retrieve tutorials based on a given filter and limit
27+
async function read(filter, limit = 1) {
28+
const tutorialDoc = await Tutorial.find(filter).limit(limit);
29+
return tutorialDoc;
30+
}
31+
32+
// Update tutorials based on a given filter and update data
33+
async function update(filter, updateObject, options = { multi: true }) {
34+
const updateResult = await Tutorial.updateMany(filter, { $set: updateObject }, options);
35+
return updateResult.acknowledged;
36+
}
37+
38+
// Delete tutorials based on a given filter
39+
async function remove(filter) {
40+
const deleteResult = await Tutorial.deleteMany(filter).exec();
41+
return deleteResult.acknowledged;
42+
}
43+
44+
// Export the CRUD functions
45+
export default {
46+
create,
47+
read,
48+
update,
49+
remove,
50+
};
51+

0 commit comments

Comments
 (0)