[MONGODB] 하여 MongoDB에서 제공된 배열의 조합을 포함하는 배열 필드 매칭
MONGODB하여 MongoDB에서 제공된 배열의 조합을 포함하는 배열 필드 매칭
내가 배열 요소의 지정된 목록 쿼리 싶습니다은 단지 내가 전달하는 요소를 포함 할 수 반환 문서,하지만 필요가 그들 모두를 포함하지 그.
을 감안할 때 문서가 좋아 :
{
name: "Article 1",
tags: ["Funny", "Rad"]
}
{
name: "Article 2",
tags: ["Cool", "Rad"]
}
{
name: "Article 3",
tags: ["Rad"]
}
다음은 몇 가지 예를 배열하고 각각의 결과입니다.
나는 그 분명한 이유 피하기 위해 할 위치하지만 확실히 내가 $로이 해낼 수 있어요.
해결법
-
==============================
1.여러 연산자를 결합하여이 작업을 수행 할 수 있습니다 :
여러 연산자를 결합하여이 작업을 수행 할 수 있습니다 :
db.test.find({tags: {$not: {$elemMatch: {$nin: ['Rad', 'Cool']}}}})
$ 닌과 함께 $ elemMatch는 하나의 태그 요소는 둘 다 '라드'도 '쿨'하지 워드 프로세서를 찾는하고 부모 $하지 그 어떤 요소를 일치하지 않는 모든 문서를 반환하는 경기를 반전시킵니다.
그러나,이 또한 태그되지 않았거나 또는 어떤 요소가되지 않는 문서를 반환합니다. 보장하지만 태그가 적어도 하나 개의 요소가 있다는 규정을 추가하는 당신이 필요로하는 사람들을 제외하려면 :
db.test.find({ tags: {$not: {$elemMatch: {$nin: ['Rad', 'Cool']}}}, 'tags.0': {$exists: true} })
from https://stackoverflow.com/questions/25318050/matching-an-array-field-which-contains-any-combination-of-the-provided-array-in by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽구스 발견 () 반환하지 결과 (0) | 2019.12.08 |
---|---|
[MONGODB] MongoDB의에서 중복 제거 (0) | 2019.12.08 |
[MONGODB] MongoDB를 - 배열의 마지막 요소에 쿼리? (0) | 2019.12.08 |
[MONGODB] Node.js를에서 MongoDB를에 연결 ECONNREFUSED 오류 (0) | 2019.12.08 |
[MONGODB] MongoDB의 노드 체크 OBJECTID이 유효한 경우 (0) | 2019.12.08 |