I am trying to run a query in mongodb using mongoose like this :
mongooseModel.find().where(query).exec(function (err, data) {
});
And the value of the query is :
{ plate: 'BCF 5579', fuel_level: { $lte: 20 }}
In mongodb log, the query is going empty ({}).
If I replace the query with actual value like this:
mongooseModel.find().where({ plate: 'BCF 5579', fuel_level: { $lte: 20 }}).exec(function (err, data) {
});
It does work. What's wrong with the first option?
Here is the full code :
this.findAllByCondition = function (query, options, callback) {
localLogger.debug('findAllByCondition');
try {
var sortBy = "_id"; // default sort order
var pagingOptions = {
skip: 0,
limit: 30
};
if (options && options.limit) {
pagingOptions.limit = options.limit;
}
if (options && options.skip) {
pagingOptions.skip = options.skip;
}
if (options && options.sortBy) {
sortBy = options.sortBy;
}
if (options && options.sortOrder && options.sortOrder === "desc") {
sortBy = "-" + sortBy;
}
//{ plate: 'BCF 5579', fuel_level: { $lte: 20 }};
//query1 = query;
//query = req.query['q'];
//var query1 = { plate: 'BCF 5579', fuel_level: { $lte: 20 }}
var totalRecords = null;
var results = null;
async.parallel(
[
function (callback) {
mongooseModel.find(query).skip(pagingOptions.skip).limit(pagingOptions.limit).sort("field " + sortBy).exec(function (err, data) {
if (err) {
callback(err);
}
else {
results = data;
callback();
}
});
},
function (callback) {
mongooseModel.count(query, function (err, count) {
if (err) {
callback(err);
}
else {
totalRecords = count;
callback();
}
});
}
],
function (err) {
callback(err, results, totalRecords);
}
);
} catch (exception) {
localLogger.error('exception while trying to findOne ' + exception.message + " stack:" + exception.stack);
callback(exception, null);
}
},