我是一名新手,对 MongoDB 不太熟悉。我正在尝试通过 Java Driver 在 MongoDB 中创建一个数据库用户。我使用的是 mongo-java-driver 3.0.1 版本。我在谷歌上搜索了相关答案,但没有找到。我发现在 mongo-java-driver 2.13.0 中有一个直接的方法,但在最新版本中已被弃用。我尝试使用以下代码创建一个用户,但出现了异常。
代码:
MongoClient mongoClient = new MongoClient("127.0.0.1","27017");
MongoDatabase mongoDatabase = this.mongoClient
.getDatabase(doc);
BasicDBObject commandArguments = new BasicDBObject();
commandArguments.put("user", mongoDatabase.getName());
commandArguments.put("pwd", "Cip#erCloud@123");
String[] roles = { "readWrite" };
commandArguments.put("roles", roles);
BasicDBObject command = new BasicDBObject("createUser",
commandArguments.toString());
mongoDatabase.runCommand(command);
异常:
com.mongodb.MongoCommandException: Command failed with error 2: 'Must provide a 'pwd' field for all user documents, except those with '$external' as the user's source db' on server 127.0.0.1:27017.
The full response is { "ok" : 0.0, "errmsg" : "Must provide a 'pwd' field for all user documents, except those with '$external' as the user's source db", "code" : 2 }
以下是我的问题:
- 如何为数据库创建用户?
- 如何获取数据库中的所有用户?
注意:我正在使用一个JAVA库。
有人能帮我吗?我卡在这里了。
谢谢 & 致意,Amar