java mongodb去重查询语句
时间: 2023-10-21 07:04:37 浏览: 139
Java中使用MongoDB进行去重查询可以使用聚合管道操作来实现。以下是一个示例代码:
```java
import com.mongodb.MongoClient;
import com.mongodb.client.AggregateIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.Arrays;
public class MongoDBDistinctQuery {
public static void main(String[] args) {
// 连接到MongoDB服务器
MongoClient mongoClient = new MongoClient("localhost", 27017);
// 连接到数据库
MongoDatabase database = mongoClient.getDatabase("mydb");
// 获取集合
MongoCollection<Document> collection = database.getCollection("mycollection");
// 构建聚合操作
AggregateIterable<Document> result = collection.aggregate(Arrays.asList(
new Document("$group", new Document("_id", "$field")),
new Document("$project", new Document("_id", 0).append("distinctField", "$_id"))
));
// 遍历结果
for (Document document : result) {
System.out.println(document.get("distinctField"));
}
// 关闭连接
mongoClient.close();
}
}
```
在上述代码中,我们首先连接到MongoDB服务器,并选择要操作的数据库和集合。然后,我们使用聚合管道操作 `$group` 和 `$project` 来对指定字段进行去重操作。最后,我们遍历结果并输出去重后的字段值。
请注意,`field` 是你想要进行去重的字段名,`mydb` 是数据库名,`mycollection` 是集合名,你需要根据实际情况进行修改。
阅读全文