केवल एम्बेडेड दस्तावेज़ को वापस करना संभव नहीं है। हालांकि, यह एक संग्रह से सभी दस्तावेजों को वापस कर देगा। आइए पहले दस्तावेजों के साथ एक संग्रह बनाने के लिए निम्नलिखित क्वेरी को लागू करें
>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") }
खोज () विधि की सहायता से संग्रह से सभी दस्तावेज़ों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है
> 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 } ] }
उपरोक्त नमूना आउटपुट को देखें, हम सभी दस्तावेज़ प्राप्त कर रहे हैं, जबकि हम केवल वे दस्तावेज़ चाहते हैं जिनमें "उपयोगकर्ता पसंद" 8 से अधिक या उसके बराबर हों।