如何使用 mongodb java 驱动程序修复 java 中的错误'The method MongoClient is undefined' CRUD 方法



我正在尝试将我的java代码与本地托管的mongodb连接起来。 使用依赖 - jUnit v3.8.1 和 mongodb-driver-sync v3.11.0。但是在使用方法"MongoClient"未定义方法建立连接时出错。

尝试为"MongoClient"创建一个新方法,但那里没有什么可创建的。

public static void main(String[] args) {
MongoClient mongoClient = MongoClient("127.0.0.1", 27017);
MongoDatabase database = mongoClient.getDatabase("test");
}

期望在java代码和MongoDB之间本地设置连接("127.0.0.1",27017(并执行CRUD方法。

尝试使用最新的同步版本,如4.2.3,检查您使用的同步驱动程序版本是否与您的集群/本地安装的Mongodb版本兼容。

使用同步驱动程序 4.2.3,您可以像这样连接

ConnectionString connString = new ConnectionString(
"mongodb+srv://<username>:<password>@<cluster_address>/<database_name>?retryWrites=true&w=majority"
);
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(connString)
.retryWrites(true)
.build();
MongoClient mongoClient = MongoClients.create(settings);

还要确保在build.gradle(如果使用gradle(或pom(如果使用Maven(中添加了此java驱动程序的依赖项.xml

这些是对您有所帮助的更多链接

https://docs.mongodb.com/drivers/java/#connect-to-mongodb-atlas

https://mongodb.github.io/mongo-java-driver/

尝试构建连接构建器,如下所示:

MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.threadsAllowedToBlockForConnectionMultiplier(500);
builder.connectionsPerHost(500);
builder.connectTimeout(4000);
builder.maxWaitTime(4000);
builder.socketTimeout(4000);
builder.writeConcern(WriteConcern.W1);
builder.heartbeatConnectTimeout(4000);
builder.maxConnectionIdleTime(4000);
MongoClientOptions opts = builder.build();
if (db == null) {
if (strDBuserName != null && !strDBuserName.trim().equals("")) {
credential = MongoCredential.createCredential(strDatabaseName, strDBuserName, strDBpasswd.toCharArray());
mongo = new MongoClient(new ServerAddress(strDBServerAdd, new Integer(strDBServerPort).intValue()), credential, opts);
} else {
mongo = new MongoClient(new ServerAddress(strDBServerAdd, new Integer(strDBServerPort).intValue()), opts);
}
db = mongo.getDatabase(strDatabaseName);
}

最新更新