Unsere bisherigen Implementierung für unterschiedliche Elemente aus einer Sammlung zu finden, verwendet werden:Finding unterscheidet sich von Sammlungen in mongodb
List<String> names = mongoClient.getDB(dbName).getCollection(collectionName).distinct(NAME_KEY);
Der Versuch, dies in der aktuellen Implementierung mit Mongo Upgrade 3.3.0+ wie versucht ist:
List<String> names = mongoClient.getDatabase(dbName)
.getCollection(collectionName, TDocType.class)
.distinct(NAME_KEY, String.class); // compile error - required Class<TResult>
Haben auch einen Versuch
.distinct(NAME_KEY, TDocType.class) // doesn't work
gegeben: Was soll das sein Zieltyp des Iterablen in diesem Fall?
bearbeiten - Die Frage ist nicht ein Duplikat Get distinct records values seit der Umsetzung über das Upgrade von mongodb-java-driver
geändert hat.
Danke. Auch das kann weiter verbessert werden als 'for (String str: iterable) {list.add (str); } 'anstatt Cursor oben zu verwenden. Die Art, wie ich es benutze, ist "Liste list = Lists.newArrayList (mongoClient.getDatabase (dbName) .getCollection (SammlungName, TDocType.class) .distinct (NAME_KEY, String.class));' wo die 'Listen' von ist Google-Sammlung. –
nullpointer
Oder einfacher: Liste list = MongoClient.getDatabase (dbName) .getCollection (SammlungName, TDocType.class) .distinct (NAME_KEY, String.class) .into (neue ArrayList <>()); –
jyemin