首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB java驱动3.12.1中的Mongodb java连接

MongoDB java驱动3.12.1中的Mongodb java连接
EN

Stack Overflow用户
提问于 2020-02-14 03:53:26
回答 2查看 1.2K关注 0票数 0

我的Ubuntu18.04中安装了MongoDB4.0。我正在使用java-mongo-driver 3.12.1,我正在上传我的代码,你可以看到我已经检查了不同类型的连接,但它不工作。

如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2020-02-14 04:30:21

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

代码语言:javascript
复制
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");
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2020-02-14 12:46:35

我找到了简单的解决方案。我已经添加了更多的jar文件,总共需要(bson-3.12.1.jar,mongodb-driver-core-3.12.1.jar,mongodb-driver-sync-3.12.1.jar,mongodb-driver-sync-3.12.1-javadoc.jar)。这些在enter link description here中可用

现在我的代码运行良好

代码语言:javascript
复制
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;

import org.bson.Document;
import java.util.Arrays;



public class MongoConnection {

 public static void main(String[] args) {
    try {           
        // Create Connection
        MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
        System.out.println("MongoDB connected successfully");

        //Accessing the database 
        MongoDatabase database = mongoClient.getDatabase("java");
        System.out.println("MongoDB database connection ");

        //Creating a collection 
        database.createCollection("first"); 
        System.out.println("Collection created successfully");

        //Accessing collection
        MongoCollection<Document> collection = database.getCollection("first");

        Document document = new Document("name", "Café Con Leche")
                   .append("contact", new Document("phone", "228-555-0149")
                                           .append("email", "cafeconleche@example.com")
                                           .append("location",Arrays.asList(-73.92502, 40.8279556)))
                   .append("stars", 3)
                   .append("categories", Arrays.asList("Bakery", "Coffee", "Pastries"));

        collection.insertOne(document);

    } catch (Exception e) {
        e.printStackTrace();
    }
 }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60215489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档