Come posso usare l’operatore “Non mi piace” in MongoDB

Ho usato l’operatore “Mi piace” di SQL usando pymongo,

db.test.find({'c':{'$regex':'ttt'}}) 

Ma come posso usare l’operatore “Non mi piace”?

Provai

 db.test.find({'c':{'$not':{'$regex':'ttt'}}) 

Dai documenti :

L’operatore $ not non supporta le operazioni con l’operatore regex $. Utilizzare invece // o nelle interfacce del driver, utilizzare la funzionalità di espressione regolare della lingua per creare oggetti di espressioni regolari. Considera il seguente esempio che utilizza l’espressione della corrispondenza del modello //:

db.inventory.find( { item: { $not: /^p.*/ } } )

EDIT (@idbentley):

{$regex: 'ttt'} è generalmente equivalente a /ttt/ in mongodb, quindi la tua query diventerebbe db.test.find({c: {$not: /ttt/}}

EDIT2 (@KyungHoon Kim):

In python, funziona: 'c':{'$not':re.compile('ttt')}

Puoi fare con regex che non contiene word. Inoltre puoi usare $options => i per la ricerca senza distinzione tra maiuscole e minuscole

Non contiene una string

 db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}}) 

string esente da maiuscole / minuscole

 db.collection.find({name:{'$regex' : '^string$', '$options' : 'i'}}) 

Inizia con una string

 db.collection.find({name:{'$regex' : '^string', '$options' : 'i'}}) 

Fine con string

 db.collection.find({name:{'$regex' : 'string$', '$options' : 'i'}}) 

Contiene una string

 db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}}) 

Conservalo come un segnalibro e un riferimento per qualsiasi altra modifica che potresti avere bisogno. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/