MongoDB में क्वेरी फ़ील्ड को बेहतर बनाने के लिए, आपको index. आइए दस्तावेजों के साथ एक संग्रह बनाएं
> db.improveQueryDemo.insertOne( ... { ... "PlayerDetails":[ ... {"PlayerName": "John", "PlayerGameScore": 5690}, ... {"PlayerName": "Carol", "PlayerGameScore": 2690}, ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5c9dbaf875e2eeda1d5c3670") }
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है
> 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 } ] }