Działa dla mnie z powłoki (skopiowałem twój przykładowy dokument do wstawienia, a następnie skopiowałem z zapytania o nazwę), więc przynajmniej nie masz jednego z tych problemów, w których znaki utf-8 wyglądają tak samo, ale są nieco inne :
> db.test.insert({ "name": "Νίκος", "value": 1.35});
> db.test.find({name: "Νίκος"});
{ "_id" : ObjectId("4f9b1642c26c79dac82740c5"), "name" : "Νίκος", "value" : 1.35 }
Dokładnie sprawdź kodowanie pliku w pliku js? Chociaż jestem pewien, że w twoim prawdziwym programie ta wartość wyszukiwania pochodzi z formularza zakodowanego w adresie URL przez GET lub POST, więc kodowanie w pliku js nie ma znaczenia.
Możesz spróbować ustawić accept-charset="utf-8"
w twojej formie. Jeśli jest to AJAX lub wysłana przez JS za pośrednictwem powiązań kątowych, upewnij się, że kodowanie znaków jest również ustawione przed wysłaniem. Coś takiego? http://groups.google.com/group/angular/browse_thread/thread /e6701e749d4bc8ed