19
CRUD operation using node
### CRUD Operations
CRUD (Create, Read, Update, Delete) is an acronym for ways one can operate on stored data. It refers to operations performed in a database.
There is some HTTP method that is used to operate CRUD operation.
POST Method :
The POST method is used to create subordinate or new resources. When creating a new resource, POST to the parent and the service takes care of associating the new resource with the parent, assigning an ID.
For example,
app.post('/products', async (req, res) => {
const product = req.body;
console.log(product)
const result = await productsCollection.insertOne(product);
res.json(result);
});
GET Method:
The HTTP GET method is used to read a representation of a resource and returns a representation in XML or JSON and an HTTP response code of 200 (OK).
For example,
app.get('/products', async (req, res) => {
const cursor = productsCollection.find({})
const products = await cursor.toArray();
res.json(products);
})
PUT Method:
PUT is used for update capabilities, PUT-ing to a known resource URI with the request body containing the newly-updated representation of the original resource.
For example,
app.put('/users', async (req, res) => {
const user = req.body;
const filter = { email: user.email }
const options = { upsert: true }
const updateDoc = { $set: user }
const result = await usersCollection.updateOne(filter, updateDoc, options)
res.json(result);
});
PATCH Method:
PATCH is used to modify capabilities. The PATCH request only needs to contain the changes to the resource, not the complete resource.
For example,
PATCH /user/jthijssen HTTP/1.1
<user>
<firstname>Joshua</firstname>
</user>
DELETE Method:
DELETE is used to delete a resource identified by a URI.
For example,
app.delete('/orders/:id', async (req, res) => {
const id = req.params.id;
const query = { _id: ObjectId(id) }
const result = await ordersCollection.deleteOne(query);
res.json(result);
})
To operate this operation, you have to must install,
npm i cors
npm i mongodb
npm i express
npm i dotenv
And must update in script object,
like,
"scripts": {
"start": "node index.js",
"start-dev": "nodemon index.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
19