java - Mongodb java 驱动程序 3.12.1 中的 MongoDB java 连接

标签 java mongodb

我在 Ubuntu 18.04 中安装了 mongodb 4.0。 我正在使用 java-mongo-driver 3.12.1 我正在上传我的代码,您可以看到我已经检查了不同类型的连接,但它不起作用。

enter image description here

如何解决这个问题?

最佳答案

尝试一下,让我知道你的想法......

package test;

public class Main {

    public static void main(String[] args) {
        com.mongodb.client.MongoClient client = connectToStandAlone();
        com.mongodb.client.MongoDatabase db = client.getDatabase("javatest");
        QueryData(db);
    }

    private static com.mongodb.client.MongoClient connectToStandAlone() {
        // STANDALONE STILL REQUIRES HOSTS LIST WITH ONE ELEMENT...

        java.util.ArrayList<com.mongodb.ServerAddress> hosts = new java.util.ArrayList<com.mongodb.ServerAddress>();
        hosts.add(new com.mongodb.ServerAddress("127.0.0.1", 27017));

        com.mongodb.MongoCredential mongoCredential = com.mongodb.MongoCredential.createScramSha1Credential("testuser", "admin", "mysecret".toCharArray());

        com.mongodb.MongoClientSettings mongoClientSettings = com.mongodb.MongoClientSettings.builder()
                .applyToClusterSettings(clusterSettingsBuilder -> clusterSettingsBuilder.hosts(hosts))
                .credential(mongoCredential)
                .writeConcern(com.mongodb.WriteConcern.W1)
                .readConcern(com.mongodb.ReadConcern.MAJORITY)
                .readPreference(com.mongodb.ReadPreference.nearest())
                .retryWrites(true)
                .build();

        com.mongodb.client.MongoClient client = com.mongodb.client.MongoClients.create(mongoClientSettings);

        return client;
    }

    private static void QueryData(com.mongodb.client.MongoDatabase db) {
        // DRIVER DOES NOT HAVE collection.findOne().

        com.mongodb.client.MongoCollection<org.bson.Document> collection = db.getCollection("people");
        com.mongodb.client.MongoCursor<org.bson.Document> cursor = collection.find(com.mongodb.client.model.Filters.eq("testfield", true))
            .sort(new org.bson.Document("review_date", -1))
            .skip(5)
            .limit(20)
            .iterator();

        while(cursor.hasNext()) {
            org.bson.Document document = cursor.next();
            String json = document.toJson();
            System.out.println(json);

            boolean testfieldValue = document.getBoolean("testfield");
            String ssnValue = document.getString("ssn");
        }
    }
}

关于java - Mongodb java 驱动程序 3.12.1 中的 MongoDB java 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60215489/

相关文章:

php - 我需要在 mongo php 中使用类似查询

node.js - Mongoose 更新不更新

java - Android Studio 无法导入项目 : java. util.ArrayList 无法转换为 java.util.Map

java - MVC : how should I switch between different datasets - update or replace?

java - 如何克隆同步集合?

mysql - 我们如何在服务器端使用 Node.js

java - Mongo Java 查询和/或组合

javascript - 正确保存数据到mongoDB

java - 从另一个线程访问对象

Java:在 Trie 中存储子字符串