কম্পিউটার

MongoDB সাবডকুমেন্ট ম্যাচ অনুসারে সাজাতে?


সাব-ডকুমেন্ট ম্যাচ অনুসারে সাজানোর জন্য, আপনি সামগ্রিক কাঠামো ব্যবহার করতে পারেন। আসুন প্রথমে নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.sortBySubDocumentsDemo.insertOne(
   {
      "StudentName": "Chris",
      "StudentDetails": [
         {
            "Age":21,
            "StudentScore":91
         },
         {
            "Age":22,
            "StudentScore":99
         },
         {
            "Age":21,
            "StudentScore":93
         }
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd57e297924bb85b3f48942")
}
> db.sortBySubDocumentsDemo.insertOne(
   {
      "StudentName": "Robert",
      "StudentDetails": [
         {
            "Age":24,
            "StudentScore":78
         },
         {
            "Age":21,
            "StudentScore":86
         },
         {
            "Age":23,
            "StudentScore":45
         }
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd57e4c7924bb85b3f48943")
}

Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিম্নলিখিত প্রশ্ন রয়েছে -

> db.sortBySubDocumentsDemo.find().pretty();

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{
   "_id" : ObjectId("5cd57e297924bb85b3f48942"),
   "StudentName" : "Chris",
   "StudentDetails" : [
      {
         "Age" : 21,
         "StudentScore" : 91
      },
      {
         "Age" : 22,
         "StudentScore" : 99
      },
      {
         "Age" : 21,
         "StudentScore" : 93
      }
   ]
}
{
   "_id" : ObjectId("5cd57e4c7924bb85b3f48943"),
   "StudentName" : "Robert",
   "StudentDetails" : [
      {
         "Age" : 24,
         "StudentScore" : 78
      },
      {
         "Age" : 21,
         "StudentScore" : 86
      },
      {
         "Age" : 23,
         "StudentScore" : 45
      }
   ]
}

সাবডকুমেন্ট ম্যাচ অনুসারে বাছাই করার জন্য নিম্নলিখিত প্রশ্নটি রয়েছে। এখানে, আমরা স্টুডেন্টস্কোর −

অনুসারে বাছাই করছি
> db.sortBySubDocumentsDemo.aggregate([
   {$match: { 'StudentDetails.Age': 21 }},
   {$unwind: '$StudentDetails'},
   {$match: {'StudentDetails.Age': 21}},
   {$project: {_id: 0, "StudentName": 1, 'StudentDetails.StudentScore': 1}},
   {$sort: { 'StudentDetails.StudentScore': 1 }},
   {$limit: 5}
]);

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{ "StudentName" : "Robert", "StudentDetails" : { "StudentScore" : 86 } }
{ "StudentName" : "Chris", "StudentDetails" : { "StudentScore" : 91 } }
{ "StudentName" : "Chris", "StudentDetails" : { "StudentScore" : 93 } }

  1. MongoDB তে অ্যারে ম্যাচ বাস্তবায়ন করবেন?

  2. MongoDB-তে আমি কীভাবে প্রাকৃতিকভাবে সাজাতে পারি?

  3. মঙ্গোডিবি ক্যোয়ারী এমন নথিগুলিকে মেলানোর জন্য যার _id একটি সাবডকুমেন্টের অংশ হিসাবে একটি অ্যারেতে রয়েছে?

  4. অ্যারে মান দ্বারা MongoDB সংগ্রহ সাজান?