কম্পিউটার

কিভাবে গতিশীলভাবে MongoDB ক্যোয়ারী তৈরি করবেন?


গতিশীলভাবে ক্যোয়ারী তৈরি করতে, আপনাকে কিছু স্ক্রিপ্ট লিখতে হবে। আসুন প্রথমে নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.dynamicQueryDemo.insertOne({"Name":"John","Subject":["MongoDB","MySQL"]});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5cef5c5def71edecf6a1f69a")
}
> db.dynamicQueryDemo.insertOne({"Name":"John","Subject":["C","C++"]});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5cef5c73ef71edecf6a1f69b")
}
> db.dynamicQueryDemo.insertOne({"Name":"John","Subject":["MongoDB","Java"]});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5cef5c8bef71edecf6a1f69c")
}

Find() পদ্ধতি -

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন
> db.dynamicQueryDemo.find().pretty();

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

তৈরি করবে
{
   "_id" : ObjectId("5cef5c5def71edecf6a1f69a"),
   "Name" : "John",
   "Subject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5cef5c73ef71edecf6a1f69b"),
   "Name" : "John",
   "Subject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5cef5c8bef71edecf6a1f69c"),
   "Name" : "John",
   "Subject" : [
      "MongoDB",
      "Java"
   ]
}

মঙ্গোডিবি ক্যোয়ারী −

কে গতিশীলভাবে তৈরি করার জন্য নিম্নোক্ত ক্যোয়ারী
> function findDocument(subject) {
   var find = {};
   if (subject.length == 0)
      find["$nin"] = subject;
   else
      find["$in"] = subject;
   return find;
}
> var sub = ["MySQL","MongoDB"];
> var myDoc = findDocument(sub);

> db.dynamicQueryDemo.aggregate([{
   $match: {
      "Subject": myDoc,
   }
}]);

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

তৈরি করবে
{ "_id" : ObjectId("5cef5c5def71edecf6a1f69a"), "Name" : "John", "Subject" : [ "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5cef5c8bef71edecf6a1f69c"), "Name" : "John", "Subject" : [ "MongoDB", "Java" ] }

  1. কিভাবে একটি LIMIT দিয়ে MongoDB কে জিজ্ঞাসা করবেন?

  2. MongoDB ক্যোয়ারীতে নির্দিষ্ট কলাম কিভাবে নির্বাচন করবেন?

  3. মঙ্গোডিবি-তে সাব-ডকুমেন্টে অনুসন্ধানের অনুসন্ধান কীভাবে চালানো যায়?

  4. "লাইক" এর মতো মঙ্গোডিবি কীভাবে জিজ্ঞাসা করবেন?