PyMongo হল একটি পাইথন ডিস্ট্রিবিউশন যাতে MongoDB এর সাথে কাজ করার জন্য টুল থাকে। PyMongo এর সাথে regex প্রশ্নগুলি সম্পাদন করতে, সিনট্যাক্সটি নিম্নরূপ -
db.yourCollectionName.find({'yourCollectionName':{'$regex':'^yourWords'}}).pretty(); উপরের সিনট্যাক্সটি সেই সমস্ত নথি দেবে যা একটি নির্দিষ্ট শব্দ থেকে শুরু হয়৷
সিনট্যাক্স বুঝতে, আসুন ডকুমেন্টের সাথে একটি সংগ্রহ তৈরি করি। একটি নথির সাথে একটি সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ -
> db.performRegex.insertOne({"ClientName":"Larry","ClientFolderInformation":[
"Folder 1","Folder 2","Folder 3","Folder 4","Folder 5"], "MainFolderLocation":"/MainFolder/Details/ClientFolder" });
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a8b186cea1f28b7aa07f2")
}
> db.performRegex.insertOne({"ClientName":"Larry","ClientFolderInformation":[
"ClientFolder 1","ClientFolder 2","ClientFolder 3","ClientFolder 4","ClientFolder 5"],
"MainFolderLocation":"/MainFolder/Details/ClientFolder" });
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a8b1d6cea1f28b7aa07f3")
} Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
> db.performRegex.find().pretty();
নিচের আউটপুট −
{
"_id" : ObjectId("5c8a8b186cea1f28b7aa07f2"),
"ClientName" : "Larry",
"ClientFolderInformation" : [
"Folder 1",
"Folder 2",
"Folder 3",
"Folder 4",
"Folder 5"
],
"MainFolderLocation" : "/MainFolder/Details/ClientFolder"
}
{
"_id" : ObjectId("5c8a8b1d6cea1f28b7aa07f3"),
"ClientName" : "Larry",
"ClientFolderInformation" : [
"ClientFolder 1",
"ClientFolder 2",
"ClientFolder 3",
"ClientFolder 4",
"ClientFolder 5"
],
"MainFolderLocation" : "/MainFolder/Details/ClientFolder"
} এখানে regex সঞ্চালনের জন্য ক্যোয়ারী আছে।
কেস 1 - নীচের প্রশ্নটি 'ক্লায়েন্টফোল্ডার' শব্দ থেকে শুরু হওয়া সমস্ত নথি দেয় -
> db.performRegex.find({'ClientFolderInformation':{'$regex':'^ClientFolder'}}).pretty(); নিচের আউটপুট −
{
"_id" : ObjectId("5c8a8b1d6cea1f28b7aa07f3"),
"ClientName" : "Larry",
"ClientFolderInformation" : [
"ClientFolder 1",
"ClientFolder 2",
"ClientFolder 3",
"ClientFolder 4",
"ClientFolder 5"
],
"MainFolderLocation" : "/MainFolder/Details/ClientFolder"
} কেস 2 - নীচের প্রশ্নটি 'ফোল্ডার' -
শব্দ থেকে শুরু হওয়া সমস্ত নথি দেয়> db.performRegex.find({'ClientFolderInformation':{'$regex':'^Folder'}}).pretty(); নিচের আউটপুট −
{
"_id" : ObjectId("5c8a8b186cea1f28b7aa07f2"),
"ClientName" : "Larry",
"ClientFolderInformation" : [
"Folder 1",
"Folder 2",
"Folder 3",
"Folder 4",
"Folder 5"
],
"MainFolderLocation" : "/MainFolder/Details/ClientFolder"
}