and-or-search
v1.1.7
Published
This module help to build advance mongodb search queries.
Downloads
10
Maintainers
Readme
Advance search:
This module help to build advance mongodb search queries.
Like........
EX.
(nodejs ANd php or angullar 4)
(nodejs or (java and (angular 2 or (reactjs and javascript))))
(nodejs and php or (java and php or (mongodb and typescript)))
(sql and (mongodb or (dynamodb oR (redis or dynamodb) or (mongodb and javascript))))
How to use it:
const gk = require('and-or-search');
Example: (Support collection array & string attributes)
let res = gk.query('(nodejs AND (java or php))', 'skills', 'array');
let res = gk.query('(tom or jon)', 'first_name', 'string');
-> 1st parameter is infix expression.
-> 2nd is the name of collection attribute.
-> 3rd is the type of collection attribute (array or string).
Pass the response query to mongodb for search.
let res = gk.query('(nodejs AND (java or php))', 'skills', 'array');
db.collection('user')
.find(res.query)
.then(result => {
//
}).catch(err => {
//
})
Response types:
{ message: "success", code: 200, query: [object] }
{ message: "Please provide expression to evaluate", code: 400, query: {} }
User collection:
{
"_id" : ObjectId("5c30e7c172fbebb2a8776d2c"),
"first_name" : "tom",
"last_name" : "PQR",
"skills" : [
"nodejs",
"php",
"mongodb"
],
"role" : "admin"
}
{
"_id" : ObjectId("5c30e82b72fbebb2a8776d45"),
"first_name" : "Jon",
"last_name" : "XYZ",
"skills" : [
"cordova",
"javascript",
"swift"
],
"role" : "admin"
}