我有数据,
var data = [{name: 'n1', age: 22}, {name: 'n1', age: age: 11}, {name: 'n2', age: age: 16}, {name: 'n3', age: 22}];
我希望根据我的多种条件获取数据:
条件 1:- var query = {name: 'n1', age: 22};
条件 2:- var query = {name = '', age: 22}
我想要用一个查询来实现以下目标:
如果我运行条件 1,那么结果应该是
[{name: 'n1', age: 22}].
如果我运行条件2,则结果应该为:
[{name: 'n1', age: 22}, {name: 'n3', age: 22} ].
对于第二个条件,查询应该只搜索年龄字段。
我希望将所有这些功能都实现在一个查询中。
我的做法是:
$query:{$and: [{name: query.name}, {age: query.age}]}
它适用于第一个条件,但不适用于第二个条件。 如何在一次查询中实现它?