Funguje pro mě z prostředí (zkopíroval jsem váš vzorový dokument k vložení a poté zkopíroval z dotazu na jméno), takže alespoň nemáte jeden z těch problémů, kdy znaky utf-8 vypadají stejně, ale jsou mírně odlišné :
> db.test.insert({ "name": "Νίκος", "value": 1.35});
> db.test.find({name: "Νίκος"});
{ "_id" : ObjectId("4f9b1642c26c79dac82740c5"), "name" : "Νίκος", "value" : 1.35 }
Znovu zkontrolujte kódování souboru v souboru js? I když jsem si jistý, že ve vašem skutečném programu máte hodnotu vyhledávání pocházející z formuláře zakódovaného pomocí GET nebo POST, takže na kódování v souboru js nezáleží.
Můžete zkusit nastavit accept-charset="utf-8"
ve vaší podobě. Pokud je to AJAX nebo je odesláno prostřednictvím JS prostřednictvím úhlových vazeb, ujistěte se, že je také před odesláním nastaveno kódování znaků. Něco takového? http://groups.google.com/group/angular/browse_thread/thread /e6701e749d4bc8ed