File tree 1 file changed +29
-0
lines changed
1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -183,6 +183,35 @@ function convertToDB(obj) {
183
183
continue ;
184
184
}
185
185
186
+ if ( typeof obj [ k ] . sql_comparator == "function" ) {
187
+ var val = ( k != "_id" ? obj [ k ] . val : new mongodb . ObjectID ( obj [ k ] . val ) ) ;
188
+ var comp = obj [ k ] . sql_comparator ( ) ;
189
+ var condition = { } ;
190
+
191
+ switch ( comp ) {
192
+ case "gt" :
193
+ case "gte" :
194
+ case "lt" :
195
+ case "lte" :
196
+ case "ne" :
197
+ condition [ "$" + comp ] = val ;
198
+ break ;
199
+ case "eq" :
200
+ condition = val ;
201
+ break ;
202
+ case "between" :
203
+ condition [ "$min" ] = obj [ k ] . from ;
204
+ condition [ "$max" ] = obj [ k ] . to ;
205
+ break ;
206
+ case "like" :
207
+ condition [ "$regex" ] = obj [ k ] . expr . replace ( "%" , ".*" ) ;
208
+ break ;
209
+ }
210
+
211
+ obj [ k ] = condition ;
212
+ continue ;
213
+ }
214
+
186
215
if ( k == "_id" ) {
187
216
obj [ k ] = new mongodb . ObjectID ( obj [ k ] ) ;
188
217
}
You can’t perform that action at this time.
0 commit comments