점(.) 표기법을 사용하여 하위 필드로 쿼리할 수 있습니다. 문서로 컬렉션을 만들어 보겠습니다. 문서로 컬렉션을 생성하는 쿼리는 다음과 같습니다 -
> db.queryBySubFieldDemo.insertOne( ... { ... "StudentPersonalDetails" :{"StudentName" :"John","StudentHobby" :"사진"}, ... "StudentScores" :{"MathScore" :56} ... }... );{ "승인됨" :true, "insertedId" :ObjectId("5c92c2995259fcd195499808")}> db.queryBySubFieldDemo.insertOne( ... { ... "StudentPersonalDetails" :{ StudentName" :"Chris","StudentHobby" :"Reading"}, ... "StudentScores" :{"MathScore" :97} ... }... );{ "acknowledged" :true, "insertedId" :ObjectId("5c92c2df5259fcd195499809")}
find() 메서드를 사용하여 컬렉션의 모든 문서를 표시합니다. 쿼리는 다음과 같습니다 -
> db.queryBySubFieldDemo.find().pretty();
다음은 출력입니다 -
{ "_id" :ObjectId("5c92c2995259fcd195499808"), "StudentPersonalDetails" :{ "StudentName" :"John", "StudentHobby" :"Photography" }, "StudentScores" :{ "56MathScore"}{ :"_id" :ObjectId("5c92c2df5259fcd195499809"), "StudentPersonalDetails" :{ "StudentName" :"Chris", "StudentHobby" :"Reading" }, "StudentScores" :{ "MathScore"}7 }
다음은 하위 필드별 쿼리입니다 -
> db.queryBySubFieldDemo.find({"StudentPersonalDetails.StudentName":"크리스"}).pretty();
다음은 출력입니다 -
{ "_id" :ObjectId("5c92c2df5259fcd195499809"), "StudentPersonalDetails" :{ "StudentName" :"Chris", "StudentHobby" :"읽기" }, "StudentScores" :{ "97점수 }} :/사전>