首先,MongoDB默认情况下是无权限控制的。若需要数据库带有权限控制可以由以下两种方法:

1. 在启动db时带上auth参数。

2. 在config文件中加入auth=true。

其实2种方法大同小异,取决于你如何启动db,一个只是把启动参数放在了config文件里,修改更为简单。个人感觉还是利用config文件启动较为清楚和简便。

 

为了获得数据库的操作权限,我们需要在admin里创建role为root的user,这样我们才能对db进行操作。如何创建user可以参看以下代码:

use admin // 进入admin db
db.createUser(
{
    user:"root",
    pwd:"root",
    roles:
    [
    {
        role:"root",
        db:"admin"
    }
    ]  
}
)

在2.6.3中,依旧可以使用db.addUser来创建root用户,但会收到warning,该方法已经被废弃,所以尽量采用createUser来建立用户。

随后我们通过auth方法来认证用户就可以对数据库进行操作了。因为我们是在admin中创建的root用户,所以我们必须先在admin中进行认证,方法见下:

use admin
db.auth("root", "root")

在认证成功后,就可以use其他db来进行操作了。

posted on 2014-06-26 13:26  筷子王老吉  阅读(122)  评论(0编辑  收藏  举报