Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

하위 배열에서 MongoDB 문서를 찾으시겠습니까?

<시간/>

dot(.) 표기법을 사용하여 하위 배열에서 문서를 찾을 수 있습니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.findDocumentDemo.insertOne(... {... "EmployeeDetails" :... {... "EmployeeAppraisalTime":....... [...... {"EmployeeDesignation":"개발자", "급여":45000},... {"EmployeeDesignation":"테스터", "급여":30000},... {"EmployeeDesignation":"HR", "급여":22000},. .. {"EmployeeDesignation":"회계사", "급여":18000}... ]... }... }... );{ "승인됨" :true, "insertedId" :ObjectId("5cd2c0f7b64f4b851c3a13a8" )}> db.findDocumentDemo.insertOne(... {... "EmployeeDetails" :... {... "EmployeeAppraisalTime":....... [....... {"EmployeeDesignation":" 개발자", "급여":105000},... {"EmployeeDesignation":"테스터", "급여":45000},... {"EmployeeDesignation":"HR", "급여":34000},.. . {"EmployeeDesignation":"회계사", "급여":24000}... ]... }... }... );{ "승인됨" :true, "insertedId" :ObjectId("5cd2c1d5b64f4b851c3a13a9")}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

> db.findDocumentDemo.find().pretty();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5cd2c0f7b64f4b851c3a13a8"), "EmployeeDetails" :{ "EmployeeAppraisalTime" :[ { "EmployeeDesignation" :"개발자", "급여" :45000 }, { "EmployeeDesignation" :"테스터", "급여" :30000 }, { "EmployeeDesignation" :"HR", "급여" :22000 }, { "EmployeeDesignation" :"회계사", "급여" :18000 } } }{ "_id" :ObjectId("5cd2c1d5b64f4a1b851c "), "EmployeeDetails" :{ "EmployeeAppraisalTime" :[ { "EmployeeDesignation" :"개발자", "급여" :105000 }, { "EmployeeDesignation" :"테스터", "급여" :45000 }, { "EmployeeDesignation" :"인사", "급여" :34000 }, { "EmployeeDesignation" :"회계사", "급여" :24000 } ] }} 

다음은 하위 배열에서 문서를 찾는 쿼리입니다 -

> db.findDocumentDemo.find({ 'EmployeeDetails.EmployeeAppraisalTime.EmployeeDesignation':'개발자', 'EmployeeDetails.EmployeeAppraisalTime.Salary':{ '$in':[45000,105000] } } );

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5cd2c0f7b64f4b851c3a13a8"), "EmployeeDetails" :{ "EmployeeAppraisalTime" :[ { "EmployeeDesignation" :"개발자", "급여" :45000 }, { "EmployeeDesignation" :"테스터", "급여" :30000 }, { "EmployeeDesignation" :"HR", "급여" :22000 }, { "EmployeeDesignation" :"회계사", "급여" :18000 } } }{ "_id" :ObjectId("5cd2c1d5b64f4a1b851 "), "EmployeeDetails" :{ "EmployeeAppraisalTime" :[ { "EmployeeDesignation" :"개발자", "급여" :105000 }, { "EmployeeDesignation" :"테스터", "급여" :45000 }, { "EmployeeDesignation" :"HR", "급여" :34000 }, { "EmployeeDesignation" :"회계사", "급여" :24000 } ] } } }