I want to append an $or query conditionally, but the query cannot receive the data which I want to search in the db
It just keeps telling me:
"Error :MongoError: Can't canonicalize query: BadValue $and/$or/$nor must be a nonempty array"
or if I initialize the query.$or as {}
"Error :MongoError: Can't canonicalize query: BadValue $or needs an array"
Thank!
For example:
var user = {
name:"Toby",
gender:"Female",
contact:[
{email:"[email protected]"},
{email:"[email protected]"},
{email:"[email protected]"}]};
var query = {};
var q = ['[email protected]','[email protected]'];
query.name = user.name;
if(user.contact!=null){
query.$or = [];
query.$or['contact.0.email'] = q[0];
query.$or['contact.1.email'] = q[1];
}