Ich habe eine Sammlung processedClickLog in MongoDB.
{
"_id" : ObjectId("58ffb4cefbe21fa7896e2d73"),
"ID" : "81a5d7f48e5df09c9bc006e7cc89d6e6",
"USERID" : "206337611536",
"DATETIME" : "Fri Mar 31 17:29:34 -0400 2017",
"QUERYTEXT" : "Tom",
"DOCID" : "www.demo.com",
"TITLE" : "Harry Potter",
"TAB" : "People-Tab",
"TOTALRESULTS" : "1",
"DOCRANK" : 1
}
{ "id":
....
}
Ich versuche, eine komplexe Abfrage in Java auszuführen. Meine Frage ist processedClickLog Sammlung zu erhalten, wo
- TAB nicht gleich People-Tab
- DOCRANK ist nicht gleich 0
- nur return "USERID", "DOCID", "DOCRANK", „QUERY "Felder
- Gruppe von USERID
Unten ist mein Java-Code. Ich bin in der Lage, die ersten drei Bedingungen zu erfüllen. Aber ich bin auf 4. Bedingung fest, die Gruppe von USERID ist.
String jsonResult = "";
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("test1");
MongoCollection<Document> collection = database.getCollection("processedClickLog");
//add condition where TAB is not equal to "People-Tab" and DOCRANK is not equal to 0
List<DBObject> criteria = new ArrayList<DBObject>();
criteria.add(new BasicDBObject("DOCRANK", new BasicDBObject("$ne", 0)));
criteria.add(new BasicDBObject("TAB", new BasicDBObject("$ne", "People-Tab")));
//combine the above two conditions
BasicDBObject query = new BasicDBObject("$and", criteria);
//to retrieve all the documents with specific fields
MongoCursor<Document> cursor = collection.find(query)
.projection(Projections.include("USERID", "DOCID", "DOCRANK", "QUERYTEXT")).iterator();
try {
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} finally {
cursor.close();
}
System.out.println(hashMap);
mongoClient.close();
}
Wie soll ich meine ganze Abfrage definieren, um die Bedingung "Gruppe von USERID" in Java hinzuzufügen? Jede Hilfe wird geschätzt
Dank. Ich werde das versuchen und Sie wissen lassen – Rose
Arbeitete wie ein Charme. Vielen Dank – Rose
Kannst du kurz den Gruppenteil erklären? Ich habe nichts in Bezug auf den Referenzlink gefunden. – Rose