[MONGODB] 로와 몽구스의 두 OR-쿼리를 결합
MONGODB로와 몽구스의 두 OR-쿼리를 결합
나는이 SQL 문에서 같은과와 몽구스의 두 OR-쿼리를 결합하려는 :
SELECT * FROM ... WHERE (a = 1 OR b = 1) AND (c=1 OR d=1)
난 단지 기본 응용 프로그램에서 모델 객체를 가져 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});
}
그러나이 모든 OR-조건이 함께이 SQL 문에 같이 참여 얻을 것이다 작동하지 않습니다 :
SELECT * FROM ... WHERE a = 1 OR b = 1 OR c=1 OR d=1
어떻게 함께와 몽구스의 인 MyModule 1 인 MyModule 2의 두 가지 조건을 결합 할 수 있습니다?
해결법
-
==============================
1.그것은으로 직접 쿼리 개체를 만들 아마 가장 쉬운 방법 :
그것은으로 직접 쿼리 개체를 만들 아마 가장 쉬운 방법 :
Test.find({ $and: [ { $or: [{a: 1}, {b: 1}] }, { $or: [{c: 1}, {d: 1}] } ] }, function (err, results) { ... }
그러나 당신은 또한 최근 3.x를 몽구스 릴리스에서 사용할 수 쿼리 # 및 도우미를 사용할 수 있습니다 :
Test.find() .and([ { $or: [{a: 1}, {b: 1}] }, { $or: [{c: 1}, {d: 1}] } ]) .exec(function (err, results) { ... });
from https://stackoverflow.com/questions/13272824/combine-two-or-queries-with-and-in-mongoose by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 시계열 데이터베이스로 MongoDB를 (0) | 2019.12.16 |
---|---|
[MONGODB] 어떻게 쿼리 아이가 MongoDB를 개체에 (0) | 2019.12.16 |
[MONGODB] -지도 감소 MongoDB를 2.2, 2.4의 성능을, 2.6 (0) | 2019.12.16 |
[MONGODB] MongoDB를 정상화, 외래 키 및 가입 (0) | 2019.12.16 |
[MONGODB] MongoDB를하지 같음 (0) | 2019.12.16 |