Maison  >  Article  >  base de données  >  mongodb 修改用户密码 2种方法

mongodb 修改用户密码 2种方法

WBOY
WBOYoriginal
2016-06-07 16:32:511338parcourir

mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。 1,错误做法,直接更新表 db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly"

mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。

1,错误做法,直接更新表

> db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly" : false,"pwd":"123"})
> db.system.users.find();
{ "_id" : ObjectId("529e5f8474b4c660718a70f3"), "user" : "tank1", "readOnly" : false, "pwd" : "35dd47abff098f5b4f0b567db8edeac5" }
{ "_id" : ObjectId("529e67553992b24438d5e315"), "user" : "tank2", "readOnly" : false, "pwd" : "123" }  //这样就不对了

2,正确做法,利用db.addUser

> db.addUser('tank2','111')
{
?? ?"_id" : ObjectId("529e6f1c8d95afd190add450"),
?? ?"user" : "tank2",
?? ?"readOnly" : false,
?? ?"pwd" : "6b4334d2c97c526e6a11b2f9ce1996e0"
}

有人会问,这个不是添加用户的方法吗。不错这是添加用户的方法,但是如果用户名相同,密码不同的话,就会更新密码。

3,正确做法,利用db.changeUserPassword

> db.changeUserPassword('tank2','test');
mongodb 修改用户密码 2种方法 mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。 1,错误做法,直接更新表 > db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly" : false,"pwd":"123"}) > db.system.users.find(); { "_id" : ObjectId("529e5f8474b4c660718a70f3"), "user" : "tank1", "readOnly" : false, "pwd" : "35dd47abff098f5b4f0b567db8edeac5" } { "_id" : ObjectId("529e67553992b24438d5e315"), "user" : "tank2", "readOnly" : false, "pwd" : "123" } //这样就不对了 2,正确做法,利用db.addUser > db.addUser('tank2','111') { ?? ?"_id" : ObjectId("529e6f1c8d95afd190add450"), ?? ?"user" : "tank2", ?? ?"readOnly" : false, ?? ?"pwd" : "6b4334d2c97c526e6a11b2f9ce1996e0" } 有人会问,这个不是添加用户的方法吗。不错这是添加用户的方法,但是如果用户名相同,密码不同的话,就会更新密码。 3,正确做法,利用db.changeUserPassword > db.changeUserPassword('tank2','test');mongodb 修改用户密码 2种方法
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn