簡體   English   中英

無法從 Eclipse 上的 Java 連接到 mongod 實例

[英]Can't connect to mongod instance from Java on Eclipse

我剛剛使用 Mongo Java 驅動程序和所有內容設置了一個 Maven 項目,但是當我運行時

public static void main(String[] args) {
    MongoClient client = new MongoClient("localhost");
    MongoDatabase db = client.getDatabase("test");
}

嘗試從命令行連接到 mongod 實例,它給了我

INFO: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}

在控制台中並沒有連接。 我幾乎遵循了本教程中的所有內容。

問題

這種錯誤通常是由於mongo java driver jar 版本不正確而發生的,或者可能是您也沒有提到連接 mongo 服務器的端口號

解決方案

試試這個:

MongoClient client = new MongoClient("localhost", 27017 );

而不是這個:

MongoClient client = new MongoClient("localhost");

並將依賴項添加到您的pom.xml因為您沒有提到要連接的端口號。

如果您使用的是比這更舊的版本,則可能有效:

Mongo mongo = new Mongo("localhost", 27017);

,這里是它的完整示例,如果您知道使用 MongoDB (NoSQL) 進行 CRUD 操作的語法,請直接查看第 10 步。

如果您有任何疑問,請在下方評論。

謝謝。

@Oleg Skylar 是對的,首先我的程序實際上沒有任何問題,只是我使用過時的方法來測試它是否有效。 一旦我按照https://docs.mongodb.com/getting-started/java/query/查詢測試數據,它就起作用了。

這就是我的連接方式

public static Document GetDocumentFromDataBase(String dataBase,String DBcollection,String field, String value) {
MongoClient mongoClient = new MongoClient(  " HEREYOURIP ",27017 );
MongoDatabase database =  mongoClient.getDatabase(dataBase);
MongoCollection<Document> collection = database.getCollection(DBcollection);
Document myDoc = collection.find(eq(field, value)).first();
    mongoClient.close();
    return myDoc;}

eq - 它導入了import static com.mongodb.client.model.Filters.eq;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM