Meteor MongoDB表达式“;如果“;在查询中

Meteor MongoDB expression "if" in Query

本文关键字:查询 如果 MongoDB Meteor 表达式      更新时间:2023-09-26

我正在尝试创建一个简单的搜索引擎,我想知道是否有一种方法可以在查询中创建条件,比如:

Meteor.users.find({
   if(gender_given) gender:"something",
   if(name_given) name:"something"
});

现在,我想到的只是用整个Meteor.users.find().fetch()集合创建变量,然后在整个数组中循环寻找匹配的记录,但我确信这不会有效。

我是不是错过了什么?

您可以构建一个动态选择器来实现这一点。例如:

var selector = {};
if (gender)
  selector.gender = gender;
if (name)
  selector.name = name;
Meteor.users.find(selector);

为什么不:

var result;
if (gender_given) {
  result = Meteor.users.find({
    gender:"something"
  });
} else if (name_given) {
  result = Meteor.users.find({
    name:"something"
  });
}