- exists: 필드가 존재하는지 여부를 검사. True는 필드가 존재하면 문서를 선택하고, False는 필드가 존재하지 않으면 문서를 선택.
ex. db.collection.find({field: {$exists: true}})
-> 'field'라는 필드를 가진 모든 문서를 선택
- $type : 필드의 데이터 타입을 검사. 특정 타입의 값이 필드에 있으면 문서를 선택.
ex. db.collection.find({field: {$type: "string"}})
-> 'field'라는 필드의 값이 문자열인 모든 문서를 선택
- $in: 필드의 값이 지정된 배열에 포함되어 있는지를 검사. 배열의 요소 중 하나와 일치하는 값을 가진 문서를 선택.
ex. db.collection.find({field: {$in: ["value1", "value2"]}})
-> 'field'라는 필드의 값이 "value1" 또는 "value2"인 모든 문서를 선택
- $nin: 필드의 값이 지정된 배열에 포함되어 있지 않은지를 검사. 배열의 어떤 요소와도 일치하지 않는 값을 가진 문서를 선택.
ex. db.collection.find({field: {$nin: ["value1", "value2"]}})
-> 'field'라는 필드의 값이 "value1" 또는 "value2"가 아닌 모든 문서를 선택
- $in: 필드의 값이 지정된 배열 내의 하나 이상의 값과 일치하는 경우 해당 문서를 선택.
ex. db.collection.find({field: {$in: ["value1", "value2", "value3"]}})
-> 'field' 필드의 값이 "value1", "value2", 또는 "value3" 중 하나라면 해당 문서를 선택
이 외에도 **$all**, **$elemMatch** 등의 연산자가 있음.
이들은 각각 필드의 배열이 모든 요소를 포함하고 있는지, 배열의 요소 중 하나라도 조건을 만족하는지를 검사하는 데 사용