만약 MongoDB에서 없는 컬럼을 찾을 경우 어떻게 하면 찾을 수 있을까요?

예를들어 name이라는 필드가 없는 경우의 값들만 출력하려고 합니다. 이때 아래와 같이 $exist를 사용하여 가능합니다.


# MongoDB에 없는 컬럼의 값만 찾기

아래 쿼리문이 바로 없는 컬럼만 찾는 방법으로 find()를 사용합니다.
db.collection.find('name': { $exists: false })

위 쿼리의 결과는 해당 컬럼 name이 없는 값들입니다. $exist: false를 사용합니다. 그렇다면 반대로 값이 있는 경우에만 찾으려면 어떻게 할까요? 간단하게 $exist: true로 바꾸어주면 됩니다.

db.collection.find('name': { $exists: false })

이제 값이 있는 컬럼, 필드만 조회가 가능합니다.


! 언제 필요한가?
만약 특정 컬럼이 반드시 필요한 경우 없는 컬럼만 찾아 값을 추가하기 위한 목적으로도 필요할 수 있습니다.