相关疑难解决方法(0)

在Mongoose中使用AND组合两个OR查询

我想在Monoose中将两个OR查询与AND组合在一起,就像在这个SQL语句中一样:

SELECT * FROM ... WHERE (a = 1 OR b = 1) AND (c=1 OR d=1)
Run Code Online (Sandbox Code Playgroud)

我在NodeJS模块中尝试了这个,它只从主应用程序中获取模型对象:

/********** Main application ***********/
var query = MyModel.find({});
myModule1.addCondition(query);
myModule2.addCondition(query);
query.exec(...)

/************ myModule1 ***************/
exports.addCondition = function(query) {
  query.or({a: 1}, {b: 1});
}

/************ myModule2 ***************/
exports.addCondition = function(query) {
  query.or({c: 1}, {d: 1});
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,所有OR条件将像在此SQL语句中一样连接在一起:

SELECT * FROM ... WHERE a = 1 OR b = 1 OR c=1 OR d=1
Run Code Online (Sandbox Code Playgroud)

如何在Mongoose中结合AND myModule1myModule2AND 的两个条件?

mongoose mongodb node.js

78
推荐指数
1
解决办法
9万
查看次数

标签 统计

mongodb ×1

mongoose ×1

node.js ×1