Mongodb: 쿼리에서 or 연산자($or)를 사용하는 방법
MongoDB에서 $or 연산자를 사용하여 여러 기준과 일치하는 문서를 찾을 수 있습니다.
이 연산자는 다음 기본 구문을 사용합니다.
db.myCollection.find({ “ $or ”: [ {" field1 ": " hello "}, {" field2 ": { $gte : 10 }} ] })
이 특정 예는 field1이 “hello” 이거나 field2 의 값이 10보다 크거나 같은 myCollection 이라는 컬렉션에서 모든 문서를 검색합니다.
다음 예는 다음 문서를 통해 컬렉션 팀 에서 실제로 이 구문을 사용하는 방법을 보여줍니다 .
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Mavs ", points: 35, rebounds: 12}) db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Spurs ", points: 23, rebounds: 9})
예 1: 두 개의 필드에 OR 연산자 사용
다음 코드는 “team” 필드가 “Spurs”와 같 거나 “points” 필드 값이 31보다 크거나 같은 팀 컬렉션의 모든 문서를 찾는 방법을 보여줍니다.
db.teams.find({ “ $or ”: [ {" team ": " Spurs "}, {" points ": { $gte : 31 }} ] })
이 쿼리는 다음 문서를 반환합니다.
{ _id: ObjectId("62018750fd435937399d6b6f"), team: 'Mavs', points: 35, rebounds: 12 } { _id: ObjectId("62018750fd435937399d6b70"), team: 'Spurs', points: 20, rebounds: 7 } { _id: ObjectId("62018750fd435937399d6b71"), team: 'Spurs', points: 25, rebounds: 5 } { _id: ObjectId("62018750fd435937399d6b72"), team: 'Spurs', points: 23, rebounds: 9 }
출력의 각 문서에는 팀 필드에 “Spurs”가 포함되어 있거나 포인트 필드에 31보다 크거나 같은 값이 포함되어 있습니다.
예 2: 3개 이상의 필드에 OR 연산자 사용
다음 코드는 “team” 필드가 “Mavs”와 같 거나 “ points” 필드의 값이 25 이상이거나 “rebounds” 필드의 값인 팀 컬렉션의 모든 문서를 찾는 방법을 보여줍니다. 8보다 작습니다:
db.teams.find({ “ $or ”: [ {" team ": " Mavs "}, {" points ": { $gte : 25 }}, {" rebounds ": { $lt : 8 }} ] })
이 쿼리는 다음 문서를 반환합니다.
{ _id: ObjectId("62018750fd435937399d6b6e"), team: 'Mavs', points: 30, rebounds: 8 } { _id: ObjectId("62018750fd435937399d6b6f"), team: 'Mavs', points: 35, rebounds: 12 } { _id: ObjectId("62018750fd435937399d6b70"), team: 'Spurs', points: 20, rebounds: 7 } { _id: ObjectId("62018750fd435937399d6b71"), team: 'Spurs', points: 25, rebounds: 5 }
이러한 각 문서는 다음 세 가지 기준 중 하나 이상을 충족합니다.
- “팀” 필드는 ” Mavs “와 같습니다.
- “포인트” 필드의 값은 25 이상입니다.
- “리바운드” 필드의 값이 8 보다 작습니다.
참고 : $or 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
MongoDB: 쿼리에서 AND 연산자를 사용하는 방법
MongoDB: 필드에 문자열이 포함되어 있는지 확인하는 방법
MongoDB: “NO IN” 쿼리를 사용하는 방법
MongoDB: 특정 필드에서 “not null”을 검색하는 방법