MongoDB의 $ne 연산자
Shihab Sikder
2023년6월20일
이 기사에서는 $ne
연산자가 MongoDB에서 작동하는 방식에 대해 설명합니다. 또한 $not
연산자를 사용하여 차이점을 열거합니다.
MongoDB의 $ne
연산자
$ne
은 MongoDB의 연산자로 같지 않음을 나타냅니다. 이것은 필드의 값을 비교하고 동일한지 확인합니다.
통사론:
{field: {$ne: value}}
employee
컬렉션에 다음 문서가 있다고 가정합니다.
> db.employee.find().pretty()
{"_id":1, "name":"Alice", "salary": 1500, "gender":"Female"}
{"_id":2, "name":"Bob", "salary": 2500, "gender":"male"}
{"_id":3, "name":"Jhon", "salary": 3500, "gender":"male"}
{"_id":4, "name":"Grace", "salary": 4500, "gender":"female"}
이제 모든 남성
직원을 보고 싶습니다. 그런 다음 쿼리는 다음과 같아야 합니다.
> db.employee.find({gender:{$ne: female}}).pretty()
{"_id":2, "name":"Bob", "salary": 2500, "gender":"male"}
{"_id":3, "name":"Jhon", "salary": 3500, "gender":"male"}
또 다른 예로 급여가 4000보다 크거나 같은 여성을 보여 달라는 요청을 받았다고 가정해 보겠습니다. 따라서 쿼리는 다음과 같아야 합니다.
> db.employee.find({gender:{$ne: male}, salary:{$gte:4000}}).pretty()
{"_id":4, "name":"Grace", "salary": 4500, "gender":"female"}
$not
과 $ne
연산자의 차이점
위에서 $ne
연산자의 구문을 보았습니다. 알아차리면 $ne
은 값만 매개변수로 사용합니다.
단순히 문서가 주어진 필드에 정확한 값을 가지고 있는지 여부를 확인합니다. 경우에 따라 상수 값이 아닌 논리 표현식이 필요할 수 있습니다. 그런 다음 $not
을 사용합니다.
통사론:
{ field: { $not: { <operator-expression> } } }
다음은 $ne
과 $not
의 유사점과 차이점입니다.
$ne |
$not |
---|---|
값을 매개변수로 사용합니다. | 논리식을 매개변수로 사용합니다. |
내부에 중첩된 쿼리를 지원하지 않습니다. | $not 연산자 내에서 중첩 쿼리를 사용할 수 있습니다. |
$ne 은 필드를 포함하지 않는 문서를 포함하여 필드 값이 지정된 값과 같지 않은 문서를 선택합니다. |
$not 은 필드를 포함하지 않는 문서를 포함하여 연산자 표현식과 일치하지 않는 문서를 선택합니다. |
$ne 은 정규식을 지원하지 않습니다. |
$not 은 정규식을 지원합니다. |
작가: Shihab Sikder