[MONGODB] 쿼리 MongoDB를 배열의 첫 번째 항목에서 일치하는
MONGODB쿼리 MongoDB를 배열의 첫 번째 항목에서 일치하는
나는 배열의 항목의 존재 여부를 검색 할 나타납니다 운영자에 $, 알고 있어요,하지만 난 단지 항목이 배열의 첫 번째 위치에있는 경우 일치를 찾고 싶어요.
예를 들어 :
{
"_id" : ObjectId("0"),
"imgs" : [
"http://foo.jpg",
"http://bar.jpg",
"http://moo.jpg",
]
},
{
"_id" : ObjectId("1"),
"imgs" : [
"http://bar.jpg",
"http://foo.jpg",
"http://moo.jpg",
]
}
나는 유사한 쿼리를 찾고 있어요 :
db.products.find({"imgs[0]": "http://foo.jpg"})
단지 배열의 첫 번째 화상에 대해 검사있어 이것은 / ObjectId가 ( "0")가 아닌 ObjectId가 ( "1")을 반환해야한다.
이것은 어떻게 달성 할 수 있습니까? 난 그냥 firstImg에 대한 하나의 문자열을 포함하는 별도의 필드를 만들 수 있습니다 알고 있어요하지만 난 후 여기있어 정말로 아니다.
해결법
-
==============================
1.난 당신이 imgs.0을 원하는 생각합니다. 예를 들면, 귀하의 예제 문서 제공, 당신은하고 싶은 말 : db.products.find을 ({ "imgs.0": "HTTP : //foo.jpg를"})
난 당신이 imgs.0을 원하는 생각합니다. 예를 들면, 귀하의 예제 문서 제공, 당신은하고 싶은 말 : db.products.find을 ({ "imgs.0": "HTTP : //foo.jpg를"})
배열 인덱스를 참조하는 첫 번째 수준의 배열에 대한 작동하는지 알고 있어야합니다. 몽고는 깊은 배열 인덱스를 검색을 지원하지 않습니다.
-
==============================
2.당신은 배열 인덱스 점 표기법을 사용할 수 있습니다 :
당신은 배열 인덱스 점 표기법을 사용할 수 있습니다 :
db.products.find({"imgs.0": "http://foo.jpg"})
다음은 점 표기법에 대한 관련 문서에서 발췌 한 것입니다.
또한, 여기에 관련 어레이 설명서에 대한 링크입니다.
from https://stackoverflow.com/questions/19899299/querying-mongodb-to-match-in-the-first-item-in-an-array by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] ISODate 객체 밀리 초 변환 날짜 (0) | 2019.12.12 |
---|---|
[MONGODB] 어떻게 필드 이름에 점 사용 하는가? (0) | 2019.12.12 |
[MONGODB] MongoDB의 통합 프레임 워크의 경우 문을 수행 (0) | 2019.12.12 |
[MONGODB] MongoDB를 집계 $ 그룹은 배열의 길이를 제한 (0) | 2019.12.12 |
[MONGODB] 내가 몽구스에서 여러 문서를 업데이트 할 수있는 방법 (0) | 2019.12.12 |