Non sei riuscito a trovarlo perché è impossibile. Nessuno degli operatori di ricerca funziona con lo schema che hai fornito.
La soluzione più semplice è cambiare un po' lo schema:
db.coders.save( {
'name': 'John',
'languages' : [ { n: 'php', v: 'bad'},{n:'java', v: 'good'},{n : 'brainfuck', v: 'very bad'}]
});
In tal caso è possibile interrogare i dati utilizzando la seguente query:
db.coders.find({'languages.v' : 'good'})