C'est le code que j'utilise maintenant, comment puis-je ajouter l'attribut "Ignorer case"? Merci P> P>
5 Réponses :
Lorsque j'ai eu le problème exact, je n'ai pas pu interroger en ignorant l'affaire. J'ai fini par copier la valeur que je voulais rechercher la normalisation. Dans ce cas, vous pouvez créer une nouvelle propriété et la convertir en minuscules et avoir un index à ce sujet.
Je me demande si cela fonctionne? P> P>
C'était la version 1.4 au fait. Peut-être que les choses ont changé maintenant.
Jouer avec la console, j'ai réalisé que taper db.collection.find ({"Prop": / valeur / i}) rend mon cas de requête insensible. Il doit y avoir un moyen d'activer l'attribut "I" à l'aide du pilote Java, même si par une requête de regex, cela n'a pas d'importance. Typing dbobject requier = nouveau basicdbObject ("Prop", "/" + valeur + "/ i") ne fonctionne pas cependant.
Donner cela un essai. J'espère que c'est ce que vous recherchez.
db.iolog.find({$where:"this.firstname.toLowerCase()==\"telMan\".toLowerCase()"});
DBObject ref = new BasicDBObject();
ref.append("firstname", new BasicDBObject("$where","this.firstname.toLowerCase()=="+firstname+".toLowerCase()"));
mapValue = new HashMap<String, Object>();
mapValue.put("$options", "i");
mapValue.put("$regex", "smth");
searchMap.put("name", mapValue);
collection.find(new BasicDBObject(searchMap));
Si vous utilisez Spring-Java ci-dessous mentionné, c'est la façon dont vous pouvez la faire chercher en cas de manière insensible.
public List<Discussion> searchQuestionByText(String qText){
Query query = new Query();
query.addCriteria(Criteria.where("discussionName").regex(qText,"i"));
return mongoTemplate.find(query, Discussion.class);
}
J'essayais également d'obtenir le meilleur usage de la mise en œuvre "Case insensible".
Si vous utilisez le pilote Java de MongoDB 3.0 ou plus tard, vous devez utiliser ce suivant Code, avec l'option les champs "clé" et "la valeur" doivent être modifiés avec vos propres données. P> (Je vous conseille également de chercher avec $ regex strong> paramètre afin de récupérer des informations via une correspondance partielle dans le cas où vous auriez de plus en plus d'enregistrements dans la base de données). P> P>