relacionar - regex mongodb
¿Cómo puedo usar el operador ''No me gusta'' en MongoDB (2)
De los docs :
El operador $ not no admite operaciones con el operador $ regex. En su lugar use // o en las interfaces de su controlador, use la capacidad de expresión regular de su idioma para crear objetos de expresiones regulares. Considere el siguiente ejemplo que usa la expresión de coincidencia de patrón //:
db.inventory.find( { item: { $not: /^p.*/ } } )
EDITAR (@idbentley):
{$regex: ''ttt''}
generalmente es equivalente a /ttt/
en mongodb, por lo que su consulta se convertiría en db.test.find({c: {$not: /ttt/}}
EDIT2 (@KyungHoon Kim):
En python, esto funciona: ''c'':{''$not'':re.compile(''ttt'')}
Utilicé el operador SQL ''Me gusta'' usando Pymongo,
db.test.find({''c'':{''$regex'':''ttt''}})
Pero, ¿cómo puedo usar el operador ''No me gusta''?
Lo intenté
db.test.find({''c'':{''$not'':{''$regex'':''ttt''}})
Puedes hacerlo con expresiones regulares que no contiene palabras. También puede usar $options => i
para búsqueda insensible a mayúsculas y minúsculas
No contiene string
db.collection.find({name:{''$regex'' : ''^((?!string).)*$'', ''$options'' : ''i''}})
string
exacta insensible a mayúsculas y minúsculas
db.collection.find({name:{''$regex'' : ''^string$'', ''$options'' : ''i''}})
Comience con una string
db.collection.find({name:{''$regex'' : ''^string'', ''$options'' : ''i''}})
Terminar con una string
db.collection.find({name:{''$regex'' : ''string$'', ''$options'' : ''i''}})
Contiene string
db.collection.find({name:{''$regex'' : ''string'', ''$options'' : ''i''}})
Mantenga esto como un marcador y una referencia para cualquier otra alteración que pueda necesitar. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/