From e8e629523d986e196fb588dfd57501243e8ced5f Mon Sep 17 00:00:00 2001 From: Vivek Date: Sun, 31 Jul 2022 16:17:58 +0530 Subject: [PATCH] Search API in node js --- config.js | 2 +- product.js | 1 + search.js | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 search.js diff --git a/config.js b/config.js index e5364ac..cadc86f 100644 --- a/config.js +++ b/config.js @@ -1,2 +1,2 @@ const mongoose = require('mongoose'); -mongoose.connect("mongodb://localhost:27017/e-comm"); +mongoose.connect("mongodb://localhost:27017/e-comm"); \ No newline at end of file diff --git a/product.js b/product.js index 87d83f7..c1e8c4e 100644 --- a/product.js +++ b/product.js @@ -12,3 +12,4 @@ const productSchema = new mongoose.Schema({ //Model module.exports = mongoose.model('products' , productSchema); +// ********************************** \ No newline at end of file diff --git a/search.js b/search.js new file mode 100644 index 0000000..a8447b8 --- /dev/null +++ b/search.js @@ -0,0 +1,25 @@ +const express = require('express'); +require ('./config'); +const product = require('./product'); + +const app = express(); +app.use(express.json()) //converts the data into JSON formate forom stream formate + + +//search API +app.get("/search/:key" , async(req,res)=>{ + console.log(req.params.key); + let data = await product.find( + { + "$or":[ //here "or" is used for multiple conditions + {"name":{$regex:req.params.key}}, + {"brand":{$regex:req.params.key}}, + {"category":{$regex:req.params.key}} + ] + } + ) + res.send(data); +}); + +const port = 8000; +app.listen(port); \ No newline at end of file