Vous n'avez pas pu le trouver car c'est impossible. Aucun des opérateurs de recherche ne fonctionne sur le schéma que vous avez fourni.
La solution la plus simple consiste à modifier légèrement le schéma :
db.coders.save( {
'name': 'John',
'languages' : [ { n: 'php', v: 'bad'},{n:'java', v: 'good'},{n : 'brainfuck', v: 'very bad'}]
});
Dans ce cas, vous pouvez interroger les données à l'aide de la requête suivante :
db.coders.find({'languages.v' : 'good'})