MongoDB 连接字符串中的选项被解释为数据库名称
MongoDB options in connection string are being interpreted as the database name
我正在尝试通过 MongoDB 中的连接字符串设置 maxPoolSize
,跟在 documentation 的这一段之后。这是我的连接字符串:
mongodb://localhost:27017/databaseName?maxPoolSize=200
但是,我没有让数据库 databaseName 的 maxPoolSize 等于 200,而是得到了一个名为 databaseName?maxPoolSize=200。也就是说,Mongo 正在获取所有内容(名称 + 选项)作为数据库名称。
一些信息:
- Mongo版本:3.2.10
- 使用 Morphia 1.1.0 连接
我很乐意提供任何进一步的信息。
如果你正在做
MongoClient client = new MongoClient(
"mongodb://localhost:27017/databaseName?maxPoolSize=200");
那么不要那样做,而是按照下面的方式做,
MongoClient client = new MongoClient(
new MongoClientURI(
"mongodb://localhost:27017/databaseName?maxPoolSize=200"));
因为您需要告诉 mongo 您正在沿着连接字符串传递一些选项。
如果您认为我误解了您的问题。请 post 您尝试建立连接的代码段。
您可以尝试这样的操作。
MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017/databaseName?maxPoolSize=200");
MongoClient mongoClient = new MongoClient(uri);
Morphia morphia = new Morphia();
Datastore datastore = morphia.createDatastore(mongoClient, "dbname");
或者
MongoClientOptions.Builder options = new MongoClientOptions.Builder();
//set your connection option here.
options.connectionsPerHost(200); //max pool size
MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017), options.build());
Morphia morphia = new Morphia();
Datastore datastore = morphia.createDatastore(mongoClient, "dbname");
我正在尝试通过 MongoDB 中的连接字符串设置 maxPoolSize
,跟在 documentation 的这一段之后。这是我的连接字符串:
mongodb://localhost:27017/databaseName?maxPoolSize=200
但是,我没有让数据库 databaseName 的 maxPoolSize 等于 200,而是得到了一个名为 databaseName?maxPoolSize=200。也就是说,Mongo 正在获取所有内容(名称 + 选项)作为数据库名称。
一些信息:
- Mongo版本:3.2.10
- 使用 Morphia 1.1.0 连接
我很乐意提供任何进一步的信息。
如果你正在做
MongoClient client = new MongoClient(
"mongodb://localhost:27017/databaseName?maxPoolSize=200");
那么不要那样做,而是按照下面的方式做,
MongoClient client = new MongoClient(
new MongoClientURI(
"mongodb://localhost:27017/databaseName?maxPoolSize=200"));
因为您需要告诉 mongo 您正在沿着连接字符串传递一些选项。
如果您认为我误解了您的问题。请 post 您尝试建立连接的代码段。
您可以尝试这样的操作。
MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017/databaseName?maxPoolSize=200");
MongoClient mongoClient = new MongoClient(uri);
Morphia morphia = new Morphia();
Datastore datastore = morphia.createDatastore(mongoClient, "dbname");
或者
MongoClientOptions.Builder options = new MongoClientOptions.Builder();
//set your connection option here.
options.connectionsPerHost(200); //max pool size
MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017), options.build());
Morphia morphia = new Morphia();
Datastore datastore = morphia.createDatastore(mongoClient, "dbname");