मैं शायद इस तरह की एक स्कीमा के साथ जाऊंगा, जो टैग को एक स्ट्रिंग सरणी फ़ील्ड में संग्रहीत करता है:
db.movies.insert({
name: "The Godfather",
director: "Francis Ford Coppola",
tags: [ "mafia", "wedding", "violence" ]
})
db.movies.insert({
name: "Pulp Fiction",
director: "Quentin Tarantino",
tags: [ "briefcase", "violence", "gangster" ]
})
db.movies.insert({
name: "Inception",
director: "Christopher Nolan",
tags: [ "dream", "thief", "subconscious" ]
})
इस प्रकार की क्वेरी के लिए आपको मानचित्र-कमी की आवश्यकता नहीं होगी। मूवी दस्तावेज़ के अंदर टैग एम्बेड करके आप MongoDB के multikey का लाभ उठा सकते हैं। फीचर, और सिंगल find() का उपयोग करके दिए गए टैग के साथ मूवी ढूंढें इस तरह की क्वेरी:
db.movies.find( { tags: "dream" } )
और जैसा आपने कहा, क्वेरी प्रदर्शन को बेहतर बनाने के लिए बहुकुंजी सरणी में एक अनुक्रमणिका जोड़ना भी उचित है:
db.movies.ensureIndex( { tags: 1 } )