কম্পিউটার টিউটোরিয়াল

MongoDB-এ অ্যারে সাইজ ১-র চেয়ে বড় ডকুমেন্ট কোয়েরি কীভাবে করবেন?


আপনি length ব্যবহার করে অ্যারে সাইজ ১-র চেয়ে বড় ডকুমেন্ট কোয়েরি করতে পারেন:

db.yourCollectionName.find({$where:"this.yourArrayDocumentName.length > 1"}).pretty();

উপরের সিনট্যাক্স বুঝতে, আসুন কিছু ডকুমেন্ট সহ একটি কালেকশন তৈরি করি। ডকুমেন্ট সহ কালেকশন তৈরির কোয়েরি নিম্নরূপ:

>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Larry","StudentTechnicalSubje ct":["Java","C","C++"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c6d6c4c0c3d5054b766a76a") } >db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSu bject":["MongoDB"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c6d6c660c3d5054b766a76b") } >db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSu bject":["MySQL","SQL Server","PL/SQL"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c6d6c800c3d5054b766a76c") }

find() মেথডের সাহায্যে কালেকশন থেকে সমস্ত ডকুমেন্ট প্রদর্শন করুন। কোয়েরি নিম্নরূপ:

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

নিচে আউটপুট দেওয়া হলো:

{    "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"),    "StudentName" : "Larry",    "StudentTechnicalSubject" : [       "Java",       "C",       "C++"    ] } {    "_id" : ObjectId("5c6d6c660c3d5054b766a76b"),    "StudentName" : "Maxwell",    "StudentTechnicalSubject" : [       "MongoDB"    ] } {    "_id" : ObjectId("5c6d6c800c3d5054b766a76c"),    "StudentName" : "Maxwell",    "StudentTechnicalSubject" : [       "MySQL",       "SQL Server",       "PL/SQL"    ] }

অ্যারে সাইজ ১-র চেয়ে বড় ডকুমেন্ট কোয়েরি করার কোয়েরি নিচে দেওয়া হলো। নিচের কোয়েরি অ্যারে সাইজ ১-র চেয়ে বড় সব ডকুমেন্ট দেবে:

> db.arrayLengthGreaterThanOne.find({$where:"this.StudentTechnicalSubject.length > 1"}).pretty();

নিচে আউটপুট দেওয়া হলো:

{    "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"),    "StudentName" : "Larry",    "StudentTechnicalSubject" : [       "Java",       "C",       "C++"    ] } {    "_id" : ObjectId("5c6d6c800c3d5054b766a76c"),    "StudentName" : "Maxwell",    "StudentTechnicalSubject" : [       "MySQL",       "SQL Server",       "PL/SQL"    ] }
  1. MongoDB-তে এমবেডেড ডকুমেন্ট কোয়েরি করা (aggregate + $unwind)

  2. MongoDB-তে $elemMatch ব্যবহার করে অ্যারে ভ্যালু অনুযায়ী ডকুমেন্ট ফিল্টার করা

  3. MongoDB-তে এমবেডেড ডকুমেন্ট অ্যারে কোয়েরি করে নতুন এলিমেন্ট যোগ করা ($push + $nin)

  4. MongoDB-তে $elemMatch এবং $and দিয়ে অ্যারে ফিল্ডে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা