[英]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.