Budete chtít použít $elemMatch
za to.
{"genres": { "$elemMatch" : {"name": "Shooter"} } }
// or
{"genres": { "$elemMatch" : {"name": { "$in": ["Shooter"] } } } }
https://docs.mongodb.com/manual/reference/operator/ query/elemMatch/
Můžete také použít tečkovou notaci mongodb a bude to do značné míry fungovat jako vy, kromě:
{"genres.name": "Shooter"}
// or
{"genres.name": { "$in": ["Shooter"]}}
Mongodb ví, jak to interpretovat v případě genres
je pole. Jen mějte na paměti, že dotaz na tečkovou notaci je mírně nejednoznačný, protože bude také odpovídat name
vlastnost v případě genres
vlastnost není pole. Tento dokument by například odpovídal:
{"genres": { "name": "Shooter" } }
Ve všech případech můžete indexovat name
vlastnost v genres
pole a index by se použil pro vyhledávání.
db.collection.createIndex({'genres.name': 1})
https://docs.mongodb.com/manual/reference/ glosář/#term-dot-notation
https://docs.mongodb.com/manual/reference/operator/ dotaz/v/