복붙노트

[MONGODB] 어떻게하여 MongoDB에서 '안처럼'연산자를 사용할 수 있습니다

MONGODB

어떻게하여 MongoDB에서 '안처럼'연산자를 사용할 수 있습니다

내가 pymongo를 사용하여 SQL LIKE 연산자를 사용할 수 있습니다,

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

하지만 어떻게하지 LIKE 연산자를 사용할 수 있습니까?

나는 시도

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

하지만 오류가 발생했습니다 :

해결법

  1. ==============================

    1.워드 프로세서 :

    워드 프로세서 :

    db.inventory.find ({항목 : {$하지 : /^p.*/}})

    EDIT (@idbentley) :

    {$ 정규식 : 'TTT는'}에 / TTT /에서 MongoDB를, 쿼리에 db.test.find가 될 수 있도록 ({{$하지 : / TTT /} C} 일반적으로 동일합니다

    편집 2 (Kyunhun 김 @) :

    파이썬에서,이 작품 : 'C'{ '$ 없다': re.compile ( 'TTT')}

  2. ==============================

    2.당신은 단어를 포함하지 않는 정규식으로 할 수 있습니다. 또한, 당신은 $ 옵션을 사용할 수 있습니다 => 내가 문자를 구분 검색의 경우에.

    당신은 단어를 포함하지 않는 정규식으로 할 수 있습니다. 또한, 당신은 $ 옵션을 사용할 수 있습니다 => 내가 문자를 구분 검색의 경우에.

    문자열을 포함하지 않는

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

    정확한 대소 문자를 구분 문자열

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

    문자열로 시작

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

    문자열 끝

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

    문자열을 포함합니다

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

    책갈피, 당신이해야 할 수있는 다른 변경에 대한 참조로이 보관하십시오. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

  3. from https://stackoverflow.com/questions/20175122/how-can-i-use-not-like-operator-in-mongodb by cc-by-sa and MIT license