当前位置: 首页 > 面试题库 >

用Mongoose以编程方式构建动态查询

公良修竹
2023-03-14
问题内容

我正在尝试根据从表单接收的输入来构建搜索。

router.get('/data', function(req, res) {
    var firstName=req.body.firstName,
    lastName=req.body.lastName,
    companyName=req.body.companyName,
    email=req.body.email;
});

我想根据这些值建立一个查询,但是如果该字段没有值,我显然不想在搜索中包括它(搜索“”会改变结果)

我尝试了几种不同的方法,例如构建一个字符串以放置在其中:

mongoose.model('customers').find({QUERY STRING WOULD GO HERE} ,function(err, data) {
    if (err) return console.error(err);
    console.log(data);
});

但这似乎无法正常工作。我也尝试过像这样的“堆叠”搜索查询:

if(firstName !="") {
    mongoose.model('customers').find({firstName: firstName})
}

然后像这样执行搜索:

mongoose.model('customers').exec(function(err, customer){
    console.log(customer);
});

但这会导致500个错误(而且我不确定是否可以从中获取更多信息)。

请帮助新手动态建立猫鼬搜索查询:(


问题答案:

尝试创建query对象,例如:

//generate query object based on availability of value 
var query = {};
if( your_variable !== "" ) {
    query["some_key"] = your_variable;
}
if( your_second_variable !== "" ) {
    query["some_other_key"] = your_second_variable;
}
mongoose.model('customers').find(query, function(err, c) {
    //do something
});


 类似资料:
  • 问题内容: 我不得不求助于ORM不足的原始SQL(使用Django 1.7)。问题在于大多数查询最终都具有80-90%的相似性。在不违反可重用性的前提下,我无法找到一种可靠且可靠的方式来构建查询。 字符串连接是唯一的出路,即使用条件构建无参数查询字符串,然后使用准备好的语句安全地包含参数(以避免SQL注入)。我想采用一种简单的方法来为我的项目模板SQL,而不是重新发明一个小型ORM。 例如,考虑以

  • 我有一个这样的层次结构: 线性布局(水平) 图像视图 线性布局(垂直) 文本视图 文本视图 文本视图 文本视图 我希望能够通过迭代添加上面的层次结构,只要可以从数据库中获得数据(使用Parse) 我尝试过将ImageView和LinearLayout放在父LinearLayout下,但似乎不起作用。这是我在Mainactive中的代码。Java: 我不知道哪里出错了,因为我的代码没有提示任何错误。

  • 我使用的是一个自定义视图,我添加了滚动条,如下所示: 现在有没有办法找出滚动条的像素厚度?对于垂直滚动条,我想找出宽度,对于水平滚动条,我想找出高度,两者都以像素为单位。 有没有办法通过编程实现这一点?

  • 问题内容: 请看下面的代码 数据库连接器 数据库UI 在这种情况下,我需要通过右键单击 _数据库节点 启动服务器_来手动启动derby(我正在使用NetBeans)。这是一个嵌入式数据库,这意味着我要将其从一台计算机转移到另一台计算机,并愿意通过双击jar文件来开始,而不是在每台计算机上都配置数据库并手动启动它们。但是,如果我没有手动启动数据库,则会收到错误消息 java.sql.SQLNonTr

  • 请看一下下面的代码 数据库连接器。JAVA 用户界面 在这种情况下,我需要通过右键单击数据库节点手动启动derby(我使用的是NetBeans) JAVAsql。SQLNonTransientConnectionException:java。网ConnectException:连接到端口1527上的服务器本地主机时出错,消息“连接被拒绝:连接”。 无论是在NetBeans内部,如果我没有手动启动它

  • 演员系统是惊人的。我想知道我是否能使它更灵活地使用。 我有一系列相关的节点对(可以是文件的形式),比如: A-- 我想在服务器启动时以编程方式生成一个包含6种参与者(即a~F)的系统。而且他们有监督孩子的关系,就像上面提到的两个人。 这对阿克卡有可能吗? 编辑2014-05-28 抱歉搞混了。 我是阿克卡的新手,到目前为止我学到的一些概念可能并不那么准确。 真正的用例是,我想使用包含参与者之间关系