포함된 문서만 반환할 수 없습니다. 그러나 컬렉션의 모든 문서를 반환합니다. 먼저 다음 쿼리를 구현하여 문서가 포함된 컬렉션을 생성해 보겠습니다.
>db.queryToEmbeddedDocument.insertOne({"UserName":"Larry","PostDetails":[{"UserMessage":"Hello","UserLikes":8},{"UserMessage":"Hi","UserLikes":6},{"UserMessage":"Good Morning","UserLikes":12},{"UserMessage":"Awesome","UserLikes":4}]}); { "acknowledged" : true, "insertedId" : ObjectId("5c988a9f330fd0aa0d2fe4bd") }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.queryToEmbeddedDocument.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c988a9f330fd0aa0d2fe4bd"), "UserName" : "Larry", "PostDetails" : [ { "UserMessage" : "Hello", "UserLikes" : 8 }, { "UserMessage" : "Hi", "UserLikes" : 6 }, { "UserMessage" : "Good Morning", "UserLikes" : 12 }, { "UserMessage" : "Awesome", "UserLikes" : 4 } ] }
다음은 컬렉션의 모든 문서를 반환하는 쿼리입니다.
> db.queryToEmbeddedDocument.find({"PostDetails.UserLikes": {$gte: 8}},{PostDetails:1}).pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5c988a9f330fd0aa0d2fe4bd"), "PostDetails" : [ { "UserMessage" : "Hello", "UserLikes" : 8 }, { "UserMessage" : "Hi", "UserLikes" : 6 }, { "UserMessage" : "Good Morning", "UserLikes" : 12 }, { "UserMessage" : "Awesome", "UserLikes" : 4 } ] }
위의 샘플 출력을 보면 "UserLikes"가 8보다 크거나 같은 문서만 원하는 동안 모든 문서를 가져옵니다.