Mongodb: "not in" 쿼리를 사용하는 방법


다음 구문을 사용하여 특정 필드의 값이 특정 값 목록에 없는 모든 문서를 찾을 수 있습니다.

 db.collection.find({field1: { $nin : [" value1 ", " value2 ", " value3 "]}}) 

이 특정 쿼리는 필드 1 의 값이 value1, value2 또는 value3과 같지 않은 모든 문서를 검색합니다.

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예 1: 값을 사용하여 “NOT IN” 쿼리

다음 문서를 갖춘 수집 팀이 있다고 가정해 보겠습니다.

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

다음 코드를 사용하여 “team” 필드가 “Rockets” 값과 동일하지 않은 모든 문서를 찾을 수 있습니다.

 db.teams.find({team: { $nin : [" Rockets "]}}) 

이 쿼리는 다음 문서를 반환합니다.

 { _id: ObjectId("619527e467d6742f66749b72"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

{ _id: ObjectId("619527e467d6742f66749b6e"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("619527e467d6742f66749b6f"),
  team: 'Mavs',
  position: 'Guard',
  points: 22 }

반환되는 유일한 문서는 “team” 필드가 “Rockets”와 같지 않은 문서입니다.

예 2: 값 목록을 사용하여 “NON IN” 쿼리

다음 문서를 갖춘 수집 팀이 있다고 가정해 보겠습니다.

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

다음 코드를 사용하여 “team” 필드가 “Rockets” 또는 “Cavs” 값과 같지 않은 모든 문서를 찾을 수 있습니다.

 db.teams.find({team: { $nin : [" Rockets ", " Cavs "]}}) 

이 쿼리는 다음 문서를 반환합니다.

 { _id: ObjectId("619527e467d6742f66749b6e"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("619527e467d6742f66749b6f"),
  team: 'Mavs',
  position: 'Guard',
  points: 22 }

반환되는 유일한 문서는 “team” 필드가 “Rockets” 또는 “Cavs”와 같지 않은 문서입니다.

참고 : $nin 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

MongoDB: “Like” 정규식을 사용하여 쿼리하는 방법
MongoDB: 필드에 문자열이 포함되어 있는지 확인하는 방법
MongoDB: 컬렉션에 새 필드를 추가하는 방법
MongoDB: 각 문서에서 필드를 제거하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다