Fonctionne pour moi à partir du shell (j'ai copié votre exemple de document à insérer, puis copié à partir de la requête pour le nom), donc au moins vous n'avez pas l'un de ces problèmes où les caractères utf-8 se ressemblent mais sont légèrement différents :
> db.test.insert({ "name": "Νίκος", "value": 1.35});
> db.test.find({name: "Νίκος"});
{ "_id" : ObjectId("4f9b1642c26c79dac82740c5"), "name" : "Νίκος", "value" : 1.35 }
Vérifiez l'encodage de votre fichier sur le fichier js ? Bien que, je suis sûr que dans votre vrai programme, vous avez cette valeur de recherche provenant d'un formulaire encodé d'URL via GET ou POST, donc l'encodage sur le fichier js n'aurait pas d'importance.
Vous pouvez essayer de définir accept-charset="utf-8"
dans votre formulaire. S'il s'agit d'AJAX ou d'une publication via JS via les liaisons angulaires, assurez-vous que l'encodage des caractères est défini avant de l'envoyer également. Quelque chose comme ça? http://groups.google.com/group/angular/browse_thread/thread /e6701e749d4bc8ed