점 표기법을 사용하여 중첩 값을 얻을 수 있습니다. 먼저 문서로 컬렉션을 생성하겠습니다.
> db.nestedQueryDemo.insertOne( ... { ... ... "EmployeeName" : "John", ... "EmployeeDetails" : ... { ... ... "_id":"EMP-101", ... "EmployeeAge":23, ... "EmployeeCompanyName":"IBM" ... ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5c9ea31dd628fa4220163b69") } > db.nestedQueryDemo.insertOne( ... { ... ... "EmployeeName" : "Carol", ... "EmployeeDetails" : ... { ... ... "_id":"EMP-110", ... "EmployeeAge":29, ... "EmployeeCompanyName":"Amazon" ... ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5c9ea36bd628fa4220163b6a") }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.nestedQueryDemo.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c9ea31dd628fa4220163b69"), "EmployeeName" : "John", "EmployeeDetails" : { "_id" : "EMP-101", "EmployeeAge" : 23, "EmployeeCompanyName" : "IBM" } } { "_id" : ObjectId("5c9ea36bd628fa4220163b6a"), "EmployeeName" : "Carol", "EmployeeDetails" : { "_id" : "EMP-110", "EmployeeAge" : 29, "EmployeeCompanyName" : "Amazon" } }
다음은 MongoDB 중첩 값 쿼리에 대한 쿼리입니다.
> db.nestedQueryDemo.find({"EmployeeDetails._id":"EMP-110"}).pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c9ea36bd628fa4220163b6a"), "EmployeeName" : "Carol", "EmployeeDetails" : { "_id" : "EMP-110", "EmployeeAge" : 29, "EmployeeCompanyName" : "Amazon" } }