使用Java在MongoDB中创建数据库用户

阿玛

我对MongoDB非常陌生。我正在尝试通过Java驱动程序在MongoDB中为数据库创建用户。我正在使用mongo-java-driver 3.0.1版本。我在Google上搜索,但没有找到相关的答案。我看到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 }

这是我的问题:

  1. 如何为数据库创建用户?
  2. 如何获得数据库的所有用户?

注意:我正在使用JAVA库。

有人可以帮我吗?我留在这里。

谢谢与问候,阿马尔

开发人员

您可以尝试使用以下方法来创建用户:

    MongoClient mongo = new MongoClient("localhost", 27017);
    MongoDatabase db =  mongo.getDatabase("testDB");
    Map<String, Object> commandArguments = new HashMap<>();
    commandArguments.put("createUser", "dev");
    commandArguments.put("pwd", "password123");
    String[] roles = { "readWrite" };
    commandArguments.put("roles", roles);
    BasicDBObject command = new BasicDBObject(commandArguments);
    db.runCommand(command);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用execBatch()在Hana数据库中创建用户

来自分类Dev

使用docker-entrypoint-initdb.d创建的Mongodb用户不会持久存储在数据库中

来自分类Dev

MongoDB未经授权的用户可以创建数据库

来自分类Dev

从Java在mysql中创建数据库

来自分类Dev

从Java在mysql中创建数据库

来自分类Dev

在Java中使用用户名和密码创建数据库

来自分类Dev

MongoDB中的用户特定数据库

来自分类Dev

使用Express,Mongodb作为服务器数据库的Node.js中的用户管理

来自分类Dev

在bash脚本中创建mysql数据库和用户

来自分类Dev

如何在Django中创建用户特定的数据库?

来自分类Dev

允许用户在数据库中创建表

来自分类Dev

在SQL Server数据库中创建用户

来自分类Dev

Php不在数据库中创建用户

来自分类Dev

使用外部数据库中的信息在登录时在WordPress网站上创建用户帐户

来自分类Dev

在DB2中使用DDL创建数据库用户

来自分类Dev

使用mongodb创建数据库node.js

来自分类Dev

使用mongo命令创建MongoDB数据库

来自分类Dev

如何在Play Java中创建数据库线程池并使用此池进行数据库查询

来自分类Dev

Mongodb $external 数据库无法创建具有用户定义角色的新用户

来自分类Dev

Codeigniter-如果用户在数据库中创建了条目,则仅允许用户从数据库中删除

来自分类Dev

如何使用django从mongodb数据库中检索数据?

来自分类Dev

用户创建的动态数据库-django

来自分类Dev

创建RDS数据库用户CloudFormation

来自分类Dev

创建PostgreSQL数据库的用户权限

来自分类Dev

用户创建的动态数据库-django

来自分类Dev

如何使用Mongo DB JAVA驱动程序从MongoDB中的数据库中删除集合?

来自分类Dev

使用 MySQL 数据库中的数据创建列表

来自分类Dev

如何在rails.yml中创建if语句以基于Rails中的当前用户使用不同的数据库

来自分类Dev

如何共享MongoDB创建的数据库?

Related 相关文章

  1. 1

    无法使用execBatch()在Hana数据库中创建用户

  2. 2

    使用docker-entrypoint-initdb.d创建的Mongodb用户不会持久存储在数据库中

  3. 3

    MongoDB未经授权的用户可以创建数据库

  4. 4

    从Java在mysql中创建数据库

  5. 5

    从Java在mysql中创建数据库

  6. 6

    在Java中使用用户名和密码创建数据库

  7. 7

    MongoDB中的用户特定数据库

  8. 8

    使用Express,Mongodb作为服务器数据库的Node.js中的用户管理

  9. 9

    在bash脚本中创建mysql数据库和用户

  10. 10

    如何在Django中创建用户特定的数据库?

  11. 11

    允许用户在数据库中创建表

  12. 12

    在SQL Server数据库中创建用户

  13. 13

    Php不在数据库中创建用户

  14. 14

    使用外部数据库中的信息在登录时在WordPress网站上创建用户帐户

  15. 15

    在DB2中使用DDL创建数据库用户

  16. 16

    使用mongodb创建数据库node.js

  17. 17

    使用mongo命令创建MongoDB数据库

  18. 18

    如何在Play Java中创建数据库线程池并使用此池进行数据库查询

  19. 19

    Mongodb $external 数据库无法创建具有用户定义角色的新用户

  20. 20

    Codeigniter-如果用户在数据库中创建了条目,则仅允许用户从数据库中删除

  21. 21

    如何使用django从mongodb数据库中检索数据?

  22. 22

    用户创建的动态数据库-django

  23. 23

    创建RDS数据库用户CloudFormation

  24. 24

    创建PostgreSQL数据库的用户权限

  25. 25

    用户创建的动态数据库-django

  26. 26

    如何使用Mongo DB JAVA驱动程序从MongoDB中的数据库中删除集合?

  27. 27

    使用 MySQL 数据库中的数据创建列表

  28. 28

    如何在rails.yml中创建if语句以基于Rails中的当前用户使用不同的数据库

  29. 29

    如何共享MongoDB创建的数据库?

热门标签

归档