【问题标题】:Execute MongoDB Eval function from C# driver (MongoDB version 2.4)从 C# 驱动程序执行 MongoDB Eval 函数(MongoDB 版本 2.4)
【发布时间】:2014-01-23 20:55:17
【问题描述】:

在将我的数据库版本从 2.2 更新到 2.4 后,我发现我无法从 C# 代码中执行 Database.Eval() 函数,因为“我没有执行任务的权限”。经过一番调查,我发现 MongoDB 有一些变化:

启用身份验证后,如果您没有执行指定任务的权限,db.eval() 将在操作过程中失败。 在 2.4 版中更改:您必须拥有完全的管理员权限才能运行。

http://docs.mongodb.org/manual/reference/method/db.eval/

您能告诉我如何在我的 C# 代码中指定这些管理员权限吗?

更新 1: 我没有提到我在连接字符串的开头使用 login:password 并且用户具有以下角色:角色:[“readWrite”,“dbAdmin”]} 我也在使用 MongoHQ 数据库托管.

【问题讨论】:

  • 设置具有管理员权限的用户后,您可以将用户名和密码附加到连接字符串中,如var connectionString = "mongodb://admin:password@localhost"

标签: c# mongodb


【解决方案1】:

您必须将正确的(dbAdmin 角色、userAdmin 角色、clusterAdmin 角色)添加到您的连接字符串用户。

1- 在连接字符串上检查您的用户

mongodb://[用户名:密码@]host1[:port1]...

2- 创建具有管理员角色db.addUser( { user: "<user>", pwd: "<password>", roles: [<roles>] } )的用户

http://docs.mongodb.org/manual/reference/user-privileges/ http://docs.mongodb.org/manual/reference/method/db.addUser/

【讨论】:

  • 请参阅更新 1
猜你喜欢
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
  • 2015-12-21
相关资源
最近更新 更多