মঙ্গোডিবিতে অনুসন্ধানের ক্ষেত্র উন্নত করতে, আপনাকে সূচক ব্যবহার করতে হবে। আসুন ডকুমেন্ট সহ একটি সংগ্রহ তৈরি করি
> db.improveQueryDemo.insertOne( ... { ... "PlayerDetails":[ ... {"PlayerName": "John", "PlayerGameScore": 5690}, ... {"PlayerName": "Carol", "PlayerGameScore": 2690}, ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5c9dbaf875e2eeda1d5c3670") }
Find() পদ্ধতি
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করার জন্য নিচের প্রশ্নটি রয়েছে> db.improveQueryDemo.find().pretty();
এটি নিম্নলিখিত আউটপুট তৈরি করবে
{ "_id" : ObjectId("5c9dbaf875e2eeda1d5c3670"), "PlayerDetails" : [ { "PlayerName" : "John", "PlayerGameScore" : 5690 }, { "PlayerName" : "Carol", "PlayerGameScore" : 2690 } ] }
ক্যোয়ারী উন্নত করতে এখন আপনাকে ক্ষেত্রটিতে একটি সূচক তৈরি করতে হবে। নিম্নোক্ত প্রশ্নটি
> db.improveQueryDemo.ensureIndex({"PlayerDetails.PlayerName":1});
এটি নিম্নলিখিত আউটপুট তৈরি করবে
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
এখন আপনি সঠিক মিল দ্বারা অনুসন্ধান করতে পারেন. নিম্নোক্ত প্রশ্নটি
> db.improveQueryDemo.find({"PlayerDetails.PlayerName":"Carol"}).pretty();
এটি নিম্নলিখিত আউটপুট তৈরি করবে
{ "_id" : ObjectId("5c9dbaf875e2eeda1d5c3670"), "PlayerDetails" : [ { "PlayerName" : "John", "PlayerGameScore" : 5690 }, { "PlayerName" : "Carol", "PlayerGameScore" : 2690 } ] }