1

Ich bin neu in Mongo Java-Treiber. Ich benutze 3.4 Mongo Java Treiber. Ich versuche, das zufällige Dokument aus der Sammlung abzurufen.So erhalten Sie ein zufälliges Dokument aus einer Sammlung mit dem Mongo Java-Treiber

Ich suchte und fand, dass ich $sample verwenden muss, um das zufällige Dokument zu finden, aber als ich versuchte zu implementieren, kann ich es nicht abrufen.

Unten ist der Code, den ich ausprobiert habe.

MongoClient mongo = new MongoClient("localhost" , 27017); 

MongoDatabase database = mongo.getDatabase("car_local"); 

MongoCollection<Document> collection = database.getCollection("assetSchemeSet"); 

collection.aggregate([ { $sample: { size: 1 } } ]); 

Es wird eine große Hilfe sein, wenn mir jemand helfen kann.

+1

Welchen Fehler oder andere Informationen haben Sie? Das ist die richtige Syntax für $ sample. Hast du gerade keine Dokumente zurück? Sind Sie sich über die Schreibweise/Existenz von car_local und assetSchemeSet sicher? –

+0

I Compilation Störung erhalten - "Das Aggregat Methode (List ) in der Art MongoCollection ist für die Argumente nicht anwendbar()". Wenn ich collection.count() mache, kann ich die Zählung sehen – Shasha

+0

Mischen Sie tatsächlich Java und Javascript hier ....? Ich dachte, der Aufruf von aggregation() wäre repräsentativ für das, was Sie in Java programmiert haben. –

Antwort

0

können Sie die Aggregates sample helper verwenden, etwa so:

MongoClient mongo = new MongoClient("localhost" , 27017); 

MongoDatabase database = mongo.getDatabase("car_local"); 

MongoCollection<Document> collection = database.getCollection("assetSchemeSet"); 

collection.aggregate(Arrays.asList(Aggregates.sample(1))); 

Dies wird 1 Dokument zurückkehren, indem eine $sample Pipeline-Stufe ausgeführt wird.

Verwandte Themen