Comment interroger mongodb avec “comme” à l'aide de l'api java?
cette question est très similaire à un autre post
En gros, je veux utiliser mongodb version de sql "comme" '%m% d' " opérateur
mais dans ma situation, je suis en utilisant l'api java pour mongodb, tandis que l'autre post, c'est à l'aide de mongodb shell
j'ai essayé ce qui a été posté dans l'autre thread et il a bien fonctionné
db.users.find({"name": /m/})
mais en java, je suis en utilisant la méthode put sur le BasicDBObject et le passage dans la méthode find() sur un DBCollections objet
BasicDBObject q = new BasicDBOBject();
q.put("name", "/"+m+"/");
dbc.find(q);
mais cela ne semble pas fonctionner.
quelqu'un a des idées?
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de passer une instance de Java RegEx (java.util.regex.Modèle):
Ce sera converti en MongoDB regex lors de l'envoi vers le serveur, ainsi que tous les RegEx drapeaux.
Pour le rendre insensible à la casse:
Vous devez d'abord inscrire votre texte et l'utiliser ensuite le compiler pour obtenir une expression regex:
Sans l'aide de
java.util.De modèle.quote()
certains caractères ne sont pas échappé.par exemple à l'aide de
?
comme lem
paramètre renvoie une exception.Au printemps de données mongodb, ce qui peut être fait comme:
Peut-être pas la réponse exacte, ( l'Exécution de la borne requête directement )