শুধুমাত্র এমবেডেড নথি ফেরত দেওয়া সম্ভব নয়। যাইহোক, এটি একটি সংগ্রহ থেকে সমস্ত নথি ফেরত দেবে। ডকুমেন্ট সহ একটি সংগ্রহ তৈরি করতে প্রথমে নিম্নলিখিত ক্যোয়ারীটি প্রয়োগ করা যাক
>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 } ] }
উপরের নমুনা আউটপুটটি দেখুন, আমরা সমস্ত নথি পাচ্ছি যখন আমরা কেবল সেই নথিগুলি চাই যেখানে "ইউজারলাইক" 8 এর থেকে বড় বা সমান।