muszę uruchomić tę kwerendę w JavieJava MongoDB zapytania regex
koddb.Users.find({"name": /^ind/i})
My Java jest
Document findQuery = new Document();
findQuery.append("name", Pattern.compile("/^"+name+"/i"));
FindIterable<Document> iterable = db.getCollection("Users").find(findQuery);
To nie jest powrót żadnych danych, myślę, że powyższy kod Java jest konwersja
> /^ind/i into "/^ind/i"
Z góry dziękuję.
Edit:
podstawie stribizhev sugestią zaktualizowanej zapytaniu i jego pracował kodu
db.Users.find({"name": {"$regex": /^ind/, "$options": "i"}})
Java
Document regQuery = new Document();
regQuery.append("$regex", "^(?)" + Pattern.quote(name));
regQuery.append("$options", "i");
Document findQuery = new Document();
findQuery.append("name", regQuery);
FindIterable<Document> iterable = db.getCollection("Users").find(findQuery);
w Javie, nie używać regex ograniczniki. Spróbuj '"^(? I) "+ Pattern.quote (name)' zamiast '"/^ "+ name +"/i "'. –
Dzięki, zadziałało to w zasadzie "^ (?)" + Wzorzec.quote ("ind") przekonwertował wartość na^(?) \ Qind \ E – Indrajeet
Tak, to prawda. Wysłałem sugestię jako odpowiedź. –