[MONGODB] MongoDB를에 개체의 배열에서 검색하는 방법
MONGODBMongoDB를에 개체의 배열에서 검색하는 방법
(테이블) '사용자'인 MongoDB의 문서를 가정
{
_id: 1,
name: { first: 'John', last: 'Backus' },
birth: new Date('Dec 03, 1924'),
death: new Date('Mar 17, 2007'),
contribs: [ 'Fortran', 'ALGOL', 'Backus-Naur Form', 'FP' ],
awards: [
{ award: 'National Medal',
year: 1975,
by: 'NSF' },
{ award: 'Turing Award',
year: 1977,
by: 'ACM' }
]
}
and other object(person)s
나는 상 '국가 메달을'가지고 있으며, 1975 년에 수여해야하는 사람을 찾으려면 다른 년이 상을 가지고 다른 사람이있을 수 있습니다.
어떻게 상 유형 및 연도를 사용하여이 사람을 찾을 수 있습니다. 그래서 정확한 사람을 얻을 수 있습니다.
해결법
-
==============================
1.올바른 방법은 다음과 같습니다
올바른 방법은 다음과 같습니다
db.users.find({awards: {$elemMatch: {award:'National Medal', year:1975}}})
$ elemMatch는 같은 배열 요소 내에서 하나 개 이상의 구성 요소를 일치시킬 수 있습니다.
$ elemMatch 몽고없이 몇 년 국립 메달을 가진 사용자와 1975s에서 어떤 상을 볼 수 있지만 1975 년 국립 메달 사용자를위한 것입니다.
추가 정보를 원하시면 MongoDB를 $ elemMatch 문서를 참조하십시오. 배열 문서를 쿼리에 대한 자세한 내용은 읽기 작업 문서를 참조하십시오.
-
==============================
2.사용 $ elemMatch은 특정 객체의 배열을 찾을 수
사용 $ elemMatch은 특정 객체의 배열을 찾을 수
db.users.findOne({"_id": id},{awards: {$elemMatch: {award:'Turing Award', year:1977}}})
from https://stackoverflow.com/questions/14040562/how-to-search-in-array-of-object-in-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 어떻게 그것을 만든 후 몽구스의 하위 문서를 채우는? (0) | 2019.12.05 |
---|---|
[MONGODB] C 번호와 MongoDB를 GridFs, 어떻게 이미지와 같은 파일을 저장하려면? (0) | 2019.12.05 |
[MONGODB] JSON 파일의 Mongoimport (0) | 2019.12.05 |
[MONGODB] MongoDB를 로컬 서버를 시작할 수 없습니다 (0) | 2019.12.05 |
[MONGODB] 어떤 수준에 쓰기에 MongoDB를 잠금을합니까? (나 : 그것은 "연결 당"에 의해 무엇을 의미 하는가 (0) | 2019.12.05 |