Skip to Content

Répondre au commentaire

oui, c'est vrai puisque les

oui, c'est vrai puisque les données sont codées en UTF8 :

> adresse = {"prenom": "martin"}
{ "prenom" : "martin" }
> db.collect.insert(adresse)
> adresse = {"prénom": "martin"}
{ "prénom" : "martin" }
> db.collect.insert(adresse)   
>  db.collect.find()
{ "_id" : ObjectId("4e67911d4d79bcbe06ce5c51"), "prenom" : "martin" }
{ "_id" : ObjectId("4e67912f4d79bcbe06ce5c52"), "prénom" : "martin" }

mais

> db.collect.find({'prenom':'martin'})     
{ "_id" : ObjectId("4e67911d4d79bcbe06ce5c51"), "prenom" : "martin" }
> db.collect.find({'prénom':'martin'})
{ "_id" : ObjectId("4e67912f4d79bcbe06ce5c52"), "prénom" : "martin" }

Cela peut causer quelques maux de tête si on n'a pas normalisé l'entrée des données. Il est possible d'utiliser des expressions régulières dans les valeurs mais je n'ai pas trouvé pour les clés.

Mais on peut toujours utiliser les opérateurs logiques:

> db.collect.find({ $or : [{'prenom':'martin'},{'prénom':'martin'}]})
{ "_id" : ObjectId("4e67911d4d79bcbe06ce5c51"), "prenom" : "martin" }
{ "_id" : ObjectId("4e67912f4d79bcbe06ce5c52"), "prénom" : "martin" }

voir www.jonathanhui.com/mongodb-query

ou les index composés (prénom et prenom) jonathanhui.com/mongodb-index

Répondre

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.