Mongo에서 "NOT IN" 쿼리를 실행하려면 어떻게 해야 하나요?
다음은 제 문서입니다.
{
title:"Happy thanksgiving",
body: "come over for dinner",
blocked:[
{user:333, name:'john'},
{user:994, name:'jessica'},
{user:11, name: 'matt'},
]
}
"차단됨"에 사용자 11이 없는 모든 문서를 찾기 위한 쿼리는 무엇입니까?
"not in"으로 $in 또는 $nin을 사용할 수 있습니다.
예...
> db.people.find({ crowd : { $nin: ["cool"] }});
여기에 더 많은 예를 제시하겠습니다.http://learnmongo.com/posts/being-part-of-the-in-crowd/
단일 값과 비교하기 때문에 이 예에서는 실제로 NOT IN 연산이 필요하지 않습니다.이는 Mongo가 배열 하위 문서의 모든 요소에 검색 기준을 적용하기 때문입니다.NOT EQUALES 연산자 $ne을 사용하여 원하는 값을 얻을 수 있습니다.이 연산자는 검색에서 찾을 수 없는 값을 취하기 때문입니다.
db.myCollection.find({'blocked.user': {$ne: 11}});
단, 동등하지 않은 것이 많으면 NOT IN 연산자 $nin을 사용합니다.검색에서 표시할 수 없는 값의 배열을 사용합니다.
db.myCollection.find({'blocked.user': {$nin: [11, 12, 13]}});
다음을 시도해 보십시오.
db.stack.find({"blocked.user":{$nin:[11]}})
이건 나한테 효과가 있었어.
http://docs.mongodb.org/manual/reference/operator/query/nin/ #op._S_nin 참조
db.inventory.find( { qty: { $nin: [ 5, 15 ] } } )
이 쿼리는 qty 필드 값이 5 또는 15가 아닌 인벤토리 컬렉션의 모든 문서를 선택합니다.선택한 문서에는 QTY 필드가 포함되지 않은 문서가 포함됩니다.
필드가 배열을 보유하고 있는 경우 $nin 연산자는 지정된 배열의 값과 동일한 요소가 없는 배열(예를 들어, 등)을 보유하고 있는 문서를 선택합니다.
언급URL : https://stackoverflow.com/questions/6391643/how-do-i-do-a-not-in-query-in-mongo
'programing' 카테고리의 다른 글
스프링 부트:휴지 상태 및 Flyway 부팅 순서 (0) | 2023.03.04 |
---|---|
구문 오류:Object.parse(네이티브) Angular에 예기치 않은 토큰이 있습니다.JS (0) | 2023.03.04 |
예: keycloak spring-boot 어플리케이션이 bean Keycloak Spring BootConfigResolver를 찾을 수 없음 (0) | 2023.03.04 |
현재 폴더에 직접 React 앱을 만드는 방법 (0) | 2023.03.04 |
파일을 번들하지 않도록 웹 팩 가져오기 (0) | 2023.03.04 |