From 1c77d672305c762690c26e9f823e89cb725b8611 Mon Sep 17 00:00:00 2001 From: tactonbishop Date: Sat, 13 Aug 2022 10:30:03 +0100 Subject: [PATCH] Last Sync: 2022-08-13 10:30:03 --- Databases/MongoDB/Update_document.md | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Databases/MongoDB/Update_document.md diff --git a/Databases/MongoDB/Update_document.md b/Databases/MongoDB/Update_document.md new file mode 100644 index 0000000..7f85663 --- /dev/null +++ b/Databases/MongoDB/Update_document.md @@ -0,0 +1,35 @@ +--- +tags: +- Databases +- mongo_db +- node-js +- mongoose +--- + +# Update a MongoDB document + +There are two methods for updating a document +* query first +* update first + +## Query first document update +With this approach we first execute a [query](/Databases/MongoDB/Querying_a_collection.md) to retrieve the document we want to edit and then make the change. We use the `findById` method to identify the document by its UUID and then `set` to update specified properties on the document. + +```js +async function updateCourseFromQuery(id) { + const course = await Course.findById(id); + if (!course) return; + course.set({ + isPublished: true, + author: 'A new author' + }) + + // Instead of an object, we could also set the updated properties individually + course.isPublished = true; + course.author = 'Biggs Volunksire' + + const result = course.save() + console.log(result); +} + +```