寻找符号来过滤所有

Looking for symbol to filter all

尝试搜索数据库时是否有搜索所有过滤器?我有多个 select 框,我想获取它们的值,然后根据这些值搜索数据。我发现每个 select 框都需要一个 if 语句来检查它是默认值(字符串)还是 selected 值(整数)。

items.find({
        "person.age": obj.age, //is 'All'
        "person.gender": obj.gender // is 'male'
      },{
        limit: this.state.limit
      }).fetch()

在我上面的示例中,一个是默认值(全部),另一个是 selected 值。当我尝试搜索时,由于 'all',它 return 什么也没有。我正在寻找一个符号或其他东西来替换 'all'。

@masteram 是对的 - 你想避免包含 All 的键 - mongodb 中没有 *。你可以同时简化你的逻辑。

以下将仅复制 obj 中不等于 All 的键,然后 运行 搜索这些键:

const person = {};
Object.keys(obj).forEach((k) => {
  if (obj[k] !== 'All') person[k] = obj[k];
});

items.find(person, { limit: this.state.limit }).fetch()