在官方文档中踩坑了,从别的地方查的。

首先说明,mongodb的密码和其他,诸如mysql不同。mongodb的密码是基于数据库的,每个数据库都要设置自己的密码,同时设置用户是基于权限的。

1、show dbs
查看当前所有数据库
2、use admin
进入admin数据库
3、创建管理员账户

db.createUser(
  {
    user: "myUserAdmin",
    pwd: passwordPrompt(), // or cleartext password
    roles: [
      { role: "userAdminAnyDatabase", db: "admin" },
      { role: "readWriteAnyDatabase", db: "admin" }
    ]
  }
)

mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库,‘readWrite’代表读写权限。
4、验证第3步用户添加是否成功
db.auth("useradmin", "adminpassword") 如果返回1,则表示成功。
exit退出系统
db.auth()方法理解为 用户的验证功能
5、修改配置or启动项
sudo vi /etc/mongod.conf
找到#security: 取消注释,修改为:
security:
  authorization: enabled
或者增加启动项
mongod --auth
6、重启mongodb sudo service mongod restart
7、进入mongodb
用第3步的 管理员账户登录,用该账户创建其他数据库管理员账号
8、新建你需要管理的mongodb 数据的账号密码。
进入你要使用的database

use yourdatabase
db.createUser(
  {
    user: "myUser",
    pwd: passwordPrompt(), // or cleartext password
    roles: [
      { role: "dbOwner", db: "yourdatabase" },
      { role: "readWrite", db: "yourdatabase" }
    ]
  }
)

dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限,比如新建索引等。readWrite代表数据的读写,拥有读写权限。
现在数据的用户名和密码就建好了。
9、可以使用:mongodb://myUser:yourpassword@localhost/yourdatabase来链接