কম্পিউটার

MongoDB ক্যোয়ারী শুধুমাত্র এমবেডেড নথি ফেরত দিতে?


শুধুমাত্র এমবেডেড নথি ফেরত দেওয়া সম্ভব নয়। যাইহোক, এটি একটি সংগ্রহ থেকে সমস্ত নথি ফেরত দেবে। ডকুমেন্ট সহ একটি সংগ্রহ তৈরি করতে প্রথমে নিম্নলিখিত ক্যোয়ারীটি প্রয়োগ করা যাক

>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 এর থেকে বড় বা সমান।


  1. MongoDB নথিতে শুধুমাত্র একটি একক মান বৃদ্ধি করবেন?

  2. MongoDB - এমবেডেড নথি জিজ্ঞাসা করবেন?

  3. নেস্টেড নথি আপডেট করার জন্য MongoDB ক্যোয়ারী

  4. MongoDB এর সাথে এমবেডেড নথির অ্যারেতে ফিল্টার ক্যোয়ারী?