Ich benutze den Java-Treiber für mongo-db und versuche, mit BasicBObjectBuilder mehrere Abfragekriterien hinzuzufügen. Ich habe ein Textfeld, in dem ein XML als String gespeichert wird, so dass wir Regex verwenden, um die Abfrage zu bilden.BasicDBObjectBuilder fügt mehrere Kriterien für ein einzelnes Objekt nicht an
Unten ist meine Abfrage und die Ausgabe erhalte ich:
regexQuery.put("REQUEST_XML",BasicDBObjectBuilder
.start("$regex", ".*Main>[\r\n]<.?.?.?.?action>"+MainValue+".*")
.add("$regex", ".*Details>[\r\n]<.?.?.?.?action>" + DetailValue+ ".*").get());
regexQuery.put("NAME", "Video");
Was ich als Abfrage bekommen ist:
{ "REQUEST_XML" : { "$regex" : ".*Details>[\r\n]<.?.?.?.?action>Change.*"} , "NAME" : "Video"}
Der erste Teil mit .start ("$ regex", " Haupt> [\ r \ n] <.?.?.?.? Action> "+ MainValue +". ") wird nicht zur Abfrage hinzugefügt.
Können Sie bitte lassen Sie mich wissen, was das Problem ist?
Sie haben mich dieses Mal gerettet :) Ich habe $ und Operator verwendet und es funktioniert wie ein Zauber. Aufgrund von mehr als 20 Lakh-Datensätzen dauert die Abfrage jedoch mehr als 3 Minuten. Gibt es eine Möglichkeit, die Abfragezeit auf weniger als eine Minute zu optimieren? –