1

I try for the find data using mongodb database with simple find with or operator.

error:-

error while getting resultMongoError: unknown operator: $or

Chairman table data:-

 _id: 1
is_chairman: "1"
role: "2"
name: "amit"
mobile_no: 74056072323
password: "$2a$10$VqCa4hoTefkrmKSvYsI.GOa/lghnGDk74c7Z.1DMeVmqp/q2yH3.S"
society_name: "Jay Somnath"
created_at: 2019 - 04 - 23 07: 52: 02.021
updated_at: 2019 - 04 - 23 07: 52: 02.021

_id: 2
is_chairman: "2"
role: "2"
name: "karan raval"
mobile_no: 906712323233
password: "$2a$10$SMI374aSyLwAoEZJEvzzDOH0qJ6p4dqd47.jxUjPFbUTQczsWSeUS"
society_name: "pusph"
created_at: 2019 - 04 - 23 08: 14: 56.210
updated_at: 2019 - 04 - 23 08: 14: 56.211

_id: 3
is_chairman: "1"
role: "2"
name: "manthan"
mobile_no: 906545454
password: "$2a$10$SMI374aSyLwAoEZJEvzzDOH0qJ6p4dqd47.jxUjPFbUTQczsWSeUS"
society_name: "Jay"
created_at: 2019 - 04 - 23 08: 14: 56.210
updated_at: 2019 - 04 - 23 08: 14: 56.211

_id: 4
is_chairman: "2"
role: "2"
name: "mukesh"
mobile_no: 9043435676
password: "$2a$10$SMI374aSyLwAoEZJEvzzDOH0qJ6p4dqd47.jxUjPFbUTQczsWSeUS"
society_name: "krishnakung"
created_at: 2019 - 04 - 23 08: 14: 56.210
updated_at: 2019 - 04 - 23 08: 14: 56.211

i try this one :-

searchStr =  {"$or": [{'name':'jay'},
                      {'society_name':'jay'}
                        ]}
Chairman.find({is_chairman: "1"},searchStr,function(err,c){
     console.log(c);
}

i want to this type of result like,

 is_chairman == 1 and $or: [{'name':'jay'},{'society_name':'jay'}]
Amit Patel
  • 167
  • 2
  • 12
  • 1
    `Chairman.find({is_chairman: "1"},{$or: [{'name':'jay'},{'society_name':'jay'}]}` Should be `Chairman.find({is_chairman: "1", $or: [{'name':'jay'},{'society_name':'jay'}]}` where $or is a sibling of `is_chirman` – DSCH Apr 23 '19 at 10:15

1 Answers1

0

For case insensitive searching you can try [as]:

Chairman.find({
    $and: [
        {"is_chairman" : "1"},
        { $or: [
                {'name': /^jay$/i },
                {"society_name" : /^jay$/i }
            ]
        }
    ]
})

For case sensitive searching :

Chairman.find({
    $and: [
        {"is_chairman" : "1"},
        { $or: [
                {'name': "jay" },
                {"society_name" : "jay" }
            ]
        }
    ]
})
Jitendra
  • 3,135
  • 2
  • 26
  • 42