@@ -74,7 +74,8 @@ module.exports = function (db, name) {
7474 query === '_' ||
7575 query . indexOf ( '_lte' ) !== - 1 ||
7676 query . indexOf ( '_gte' ) !== - 1 ||
77- query . indexOf ( '_ne' ) !== - 1
77+ query . indexOf ( '_ne' ) !== - 1 ||
78+ query . indexOf ( '_like' ) !== - 1
7879 ) return
7980 }
8081 delete req . query [ query ]
@@ -109,21 +110,22 @@ module.exports = function (db, name) {
109110 . map ( function ( value ) {
110111 var isDifferent = key . indexOf ( '_ne' ) !== - 1
111112 var isRange = key . indexOf ( '_lte' ) !== - 1 || key . indexOf ( '_gte' ) !== - 1
112- var path = key . replace ( / ( _ l t e | _ g t e | _ n e ) $ / , '' )
113- var elementValue
113+ var isLike = key . indexOf ( '_like' ) !== - 1
114+ var path = key . replace ( / ( _ l t e | _ g t e | _ n e | _ l i k e ) $ / , '' )
115+ var elementValue = _ . get ( element , path )
114116
115117 if ( isRange ) {
116118 var isLowerThan = key . indexOf ( '_gte' ) !== - 1
117- elementValue = _ . get ( element , path )
118119
119120 if ( isLowerThan ) {
120121 return value <= elementValue
121122 } else {
122123 return value >= elementValue
123124 }
124125 } else if ( isDifferent ) {
125- elementValue = _ . get ( element , path )
126126 return value !== elementValue
127+ } else if ( isLike ) {
128+ return new RegExp ( value ) . test ( elementValue )
127129 } else {
128130 return _ . matchesProperty ( key , value ) ( element )
129131 }
0 commit comments