মংগোডিবি – কুয়েরি ডোকুমেন্ট (MongoDB – Query Document)

MongoDB অনুসন্ধানমূলক বা Query ডকুমেন্ট

নয়ন চন্দ্র দত্ত

 

 

find() পদ্ধতি

MongoDB collection ডেটা অনুসন্ধান করতে আপনাকে MongoDB এর find() পদ্ধতি ব্যবহার করতে হবে।

 

সিনট্যাক্সঃ

find()  এর বেসিক সিনট্যাক্স বা বাক্য-গঠন নিম্নরূপঃ

 

>db.COLLECTION_NAME.find()

 

find() পদ্ধতি সবগুলো ডকুমেন্টকে একটি অ-কাঠামোগত ভাবে প্রদর্শন করবে।

 

 

 

 

pretty() পদ্ধতি

সুবিন্যস্তভাবে ফলাফল প্রদর্শন করার জন্য pretty() পদ্ধতি ব্যবহার করতে পারেন।

 

সিনট্যাক্সঃ

 

>db.mycol.find().pretty()

 

 

উদাহণঃ

 

>db.mycol.find().pretty()

{

"_id": ObjectId(7df78ad8902c),

"title": "MongoDB Overview",

"description": "MongoDB is no sql database",

"by": "tutorials point",

"url": "http://www.tutorialspoint.com",

"tags": ["mongodb", "database", "NoSQL"],

"likes": "100"

}

>

 

 

 

find() পদ্ধতি ছাড়াও এখানে findOne() পদ্ধতিও আছে যা শুধুমাত্র একটি ডকুমেন্টকে পুনরায় ধাবিত করে।

 

 

 

 

 

MongoDB এর মধ্যে RDBMS যেখানে Clause বা ধারা সমতুল্য

কিছু অবস্থার ভিত্তিতে ডকুমেন্ট অনুসন্ধান করতে আপনি নিম্নলিখিত অপারেশন ব্যবহার করতে পারেন।

 

অপারেশনঃ সমতা

সিনট্যাক্সঃ {<key>:<value>}

উদাহণঃ db.mycol.find({"by":"tutorials point"}).pretty()

RDBMS সমতুল্যতাঃ যেখানে by = 'tutorials point'

 

অপারেশনঃ ছোট

সিনট্যাক্সঃ {<key>:{$lt:<value>}}

উদাহণঃ db.mycol.find({"likes":{$lt:50}}).pretty()

RDBMS সমতুল্যতাঃ যেখানে likes < 50

 

অপারেশনঃ সমান বা ছোট

সিনট্যাক্সঃ {:{$lte:}}

উদাহণঃ db.mycol.find({"likes":{$lte:50}}).pretty()

RDBMS সমতুল্যতাঃ যেখানে likes <= 50

 

অপারেশনঃ বড়

সিনট্যাক্সঃ {<key>:{$gt:<value>}}

উদাহণঃ db.mycol.find({"likes":{$gt:50}}).pretty()

RDBMS সমতুল্যতাঃ যেখানে likes > 50

 

অপারেশনঃ সমান বা বড়

সিনট্যাক্সঃ {:{$gte:}}

উদাহণঃ db.mycol.find({"likes":{$gte:50}}).pretty()

RDBMS সমতুল্যতাঃ যেখানে likes >= 50

 

অপারেশনঃ অসমান

সিনট্যাক্সঃ {:{$ne:}}

উদাহণঃ db.mycol.find({"likes":{$ne:50}}).pretty()

RDBMS সমতুল্যতাঃ যেখানে likes != 50

 

 

 

 

 

MongoDB তে AND

সিনট্যাক্সঃ

find() পদ্ধতিতে যদি আপনি একাধিক কী ( ',' )দিয়ে পৃথক করে পাস করেন তাহলে MongoDB এটাকে AND শর্তের ন্যায় আচরন করায়। AND এর বেসিক সিনট্যাক্স বা বাক্য-গঠন নিম্নরূপঃ

 

>db.mycol.find({key1:value1, key2:value2}).pretty()

 

 

উদাহণ

উল্লিখিত নীচের উদাহরণটি 'tutorials point' দ্বারা লিখিত সব টিউটোরিয়াল এবং যার টাইটেল 'MongoDB Overview'  প্রদর্শন করবে।

 

>db.mycol.find({"by":"tutorials point","title": "MongoDB Overview"}).pretty()

{

"_id": ObjectId(7df78ad8902c),

"title": "MongoDB Overview",

"description": "MongoDB is no sql database",

"by": "tutorials point",

"url": "http://www.tutorialspoint.com",

"tags": ["mongodb", "database", "NoSQL"],

"likes": "100"

}

>

 

 

 

উপরে উল্লিখিত উদাহরণটি সমান হবে যেখানে clause টি ' where by='tutorials point' AND title='MongoDB Overview'  হবে।

 

 

 

 

 

 

MongoDB তে OR

সিনট্যাক্সঃ

OR শর্তের উপর ভিত্তি করে ডকুমেন্ট খোজতে আপনাকে $or কীওয়ার্ড ব্যবহার করতে হবে। OR এর বেসিক সিনট্যাক্স বা বাক্য-গঠন নিম্নরূপঃ

 

>db.mycol.find(

{

$or: [

{key1: value1}, {key2:value2}

]

}

).pretty()

 

 

 

উদাহণ

উল্লিখিত নীচের উদাহরণটি 'tutorials point' দ্বারা লিখিত সব টিউটোরিয়াল এবং যার টাইটেল 'MongoDB Overview'  প্রদর্শন করবে।

 

 

>db.mycol.find({$or:[{"by":"tutorials point"},{"title": "MongoDB Overview"}]}).pretty()

{

"_id": ObjectId(7df78ad8902c),

"title": "MongoDB Overview",

"description": "MongoDB is no sql database",

"by": "tutorials point",

"url": "http://www.tutorialspoint.com",

"tags": ["mongodb", "database", "NoSQL"],

"likes": "100"

}

>

 

 

 

 

একত্রে AND এবং OR  এর ব্যবহার

উদাহণঃ

উল্লিখিত নীচের উদাহরণটি ১০০ এর চেয়ে বড় এবং যার টাইটেল 'MongoDB Overview' বা 'tutorials point' । এসকিউএল সমান হবে যেখানে 'where likes>10 AND (by = 'tutorials point' OR title = 'MongoDB Overview')'  । যেমনঃ-

 

>db.mycol.find("likes": {$gt:10}, $or: [{"by": "tutorials point"}, {"title": "MongoDB Overview"}] }).pretty()

{

"_id": ObjectId(7df78ad8902c),

"title": "MongoDB Overview",

"description": "MongoDB is no sql database",

"by": "tutorials point",

"url": "http://www.tutorialspoint.com",

"tags": ["mongodb", "database", "NoSQL"],

"likes": "100"

}

>

 

 

 

http://Bangla.SaLearningSchool.com

Permanent link to this article: http://bangla.sitestree.com/%e0%a6%ae%e0%a6%82%e0%a6%97%e0%a7%8b%e0%a6%a1%e0%a6%bf%e0%a6%ac%e0%a6%bf-%e0%a6%95%e0%a7%81%e0%a7%9f%e0%a7%87%e0%a6%b0%e0%a6%bf-%e0%a6%a1%e0%a7%8b%e0%a6%95%e0%a7%81%e0%a6%ae%e0%a7%87%e0%a6%a8/