जब आप सरणी तत्वों को क्वेरी कर रहे हों तो MongoDB बेहतर होता है। आइए सरणी तत्वों को क्वेरी करने के लिए निम्नलिखित सिंटैक्स का उपयोग करें -
db.yourCollectionName.find({yourArrayFieldName:"yourValue"}).pretty();
उपरोक्त सिंटैक्स उन सभी दस्तावेज़ों को वापस कर देगा जिनका एक सरणी फ़ील्ड में "yourValue" मान है।
अवधारणा को समझने के लिए, आइए हम दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है -
> db.queryArrayElementsDemo.insertOne({ ... "StudentName":"John","StudentFavouriteSubject":["C","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c90c0354afe5c1d2279d694") } > db.queryArrayElementsDemo.insertOne({ "StudentName":"Carol","StudentFavouriteSubject":["C","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c90c0434afe5c1d2279d695") } > db.queryArrayElementsDemo.insertOne({ "StudentName":"David","StudentFavouriteSubject":["MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c90c0584afe5c1d2279d696") }
संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -
> db.queryArrayElementsDemo.find().pretty();
निम्न आउटपुट है -
{ "_id" : ObjectId("5c90c0354afe5c1d2279d694"), "StudentName" : "John", "StudentFavouriteSubject" : [ "C", "Java" ] } { "_id" : ObjectId("5c90c0434afe5c1d2279d695"), "StudentName" : "Carol", "StudentFavouriteSubject" : [ "C", "C++" ] } { "_id" : ObjectId("5c90c0584afe5c1d2279d696"), "StudentName" : "David", "StudentFavouriteSubject" : [ "MongoDB", "Java" ] }
MongoDB के साथ सरणी तत्वों को क्वेरी करना -
> db.queryArrayElementsDemo.find({StudentFavouriteSubject:"Java"}).pretty();
निम्न आउटपुट है -
{ "_id" : ObjectId("5c90c0354afe5c1d2279d694"), "StudentName" : "John", "StudentFavouriteSubject" : [ "C", "Java" ] } { "_id" : ObjectId("5c90c0584afe5c1d2279d696"), "StudentName" : "David", "StudentFavouriteSubject" : [ "MongoDB", "Java" ] }
उपरोक्त नमूना आउटपुट को देखें, उपरोक्त क्वेरी उन सभी दस्तावेज़ों को "जावा" मान के साथ लौटाती है।