File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ function filters(query, options) {
14
14
delete query . start_at
15
15
delete query . end_at
16
16
delete query . period
17
+ let or_count = 0
17
18
for ( const elem in query ) {
18
19
if ( query [ elem ] instanceof Array ) {
19
20
query [ elem ] . forEach ( function ( param ) {
@@ -22,7 +23,18 @@ function filters(query, options) {
22
23
} else {
23
24
if ( query [ elem ] instanceof Object ) {
24
25
} else if ( query [ elem ] . includes ( ',' ) ) {
25
- result [ '$or' ] = result [ '$or' ] . concat ( splitByCommas ( elem , query [ elem ] ) )
26
+ if ( or_count === 0 ) {
27
+ result [ '$or' ] = result [ '$or' ] . concat ( splitByCommas ( elem , query [ elem ] ) )
28
+ }
29
+ else if ( or_count === 1 ) {
30
+ result [ '$and' ] . push ( { '$or' : result [ '$or' ] } )
31
+ result [ '$and' ] . push ( { '$or' : splitByCommas ( elem , query [ elem ] ) } )
32
+ result [ '$or' ] = [ ]
33
+ }
34
+ else {
35
+ result [ '$and' ] . push ( { '$or' : splitByCommas ( elem , query [ elem ] ) } )
36
+ }
37
+ or_count ++
26
38
} else {
27
39
Object . assign ( result , processQuery ( elem , query [ elem ] ) )
28
40
}
You can’t perform that action at this time.
0 commit comments