gpt4 book ai didi

Java 3.0 从列 mongodb 中获取不同的值

转载 作者:可可西里 更新时间:2023-11-01 10:19:17 31 4
gpt4 key购买 nike

我在这里真的很挣扎,也看过其他问题,但似乎无法得到我需要的答案。

我想要做的是提取列的所有唯一值,然后遍历它们并将它们添加到数组中。最终将一列存储在我的数组中,但每个值中的一个值不是当前存在的多个值。

每次我尝试执行 .distinct 时,它都会询问我返回类,我尝试了很多不同的类,但它似乎不起作用......代码在下面任何帮助将不胜感激。

 public static void MediaInteraction() {
//Storing data from MediaInteraction in MediaArray
//BasicDBObject Query = new BasicDBObject();
//Query.put("consumerid", "");



MongoCursor<Document> cursormedia = collectionmedia.distinct("consumerid", (What do I put here?)).iterator();

while (cursormedia.hasNext()) {
System.out.println(cursormedia.next());
MediasessionID.add(cursormedia.next());

}
System.out.println("Media Array Complete");
System.out.println(MediasessionID.size());
}

最佳答案

您可能想要介绍的更改应该有点像 -

MongoCursor<Document> cursormedia = collectionmedia.distinct("consumerid",
<ConsumerId-DataType>.class).iterator(); //please replace the consumerId field's datatype here

同样来自 docs -

/**
* Gets the distinct values of the specified field name.
*
* @param fieldName the field name
* @param resultClass the class to cast any distinct items into.
* @param <TResult> the target type of the iterable.
* @return an iterable of distinct values
* @mongodb.driver.manual reference/command/distinct/ Distinct
*/
<TResult> DistinctIterable<TResult> distinct(String fieldName, Class<TResult> resultClass);

因此,在您的示例中,如果您尝试获取 Document 的游标,您可能希望在上面建议的代码中使用 Document.class

编辑 - 此外,您调用 cursormedia.next() 的次数是 MediasessionID 的两倍> 会减半。建议您这样做(.next) 进一步改进以获得结果。

关于Java 3.0 从列 mongodb 中获取不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40993793/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com