MongoDB

注意:目前TeaWeb只支持MongoDB v3.0以上版本,如果你正在使用老的版本,请更换。

在这里可以修改MongoDB的连接设置:mongodb.png

如果没有安装或者连接失败,则会提示连接失败信息:mongodb.png

如上图所示,如果在项目目录下没有找到已安装的 mongodb ,则提示下载链接和自动安装链接。

安装和启动MongoDB

如果还没有安装,可以使用TeaWeb帮你安装(”设置”>“MongoDB”界面的底部),目前支持Linux和Darwin(Mac OS X)。也可以从 https://www.mongodb.com/download-center/community下载并安装符合你的系统的MongoDB,或者从TeaOS镜像下载地址中下载:

  1. cd MongoDB安装目录
  2. bin/mongod --dbpath=./data/ --fork --logpath=./data/fork.log

启动后,试着用 ps 命令查看MongoDB是否已启动:

  1. ps ax|grep mongo

命令执行结果应该类似于:

  1. [root@localhost ~]# ps ax|grep mongo
  2. 21040 ? Sl 632:19bin/mongod --dbpath=./data/ --fork --logpath=./data/fork.log

在Windows上,直接运行下载的可执行文件进行安装,注意过程中可以选择 不安装 MongoDB Compass。

认证

如果你需要使用认证模式连接MongoDB,需要确保用户对teaweb数据库有dbOwner权限。

查看已有用户

使用show users来查看查看已有用户、相关权限及认证机制:

  1. show users

返回结果:

  1. {
  2. "_id" : "teaweb.用户名",
  3. "user" : "用户名",
  4. "db" : "teaweb",
  5. "roles" : [
  6. {
  7. "role" : "dbOwner", // 角色
  8. "db" : "teaweb" // 数据库固定为teaweb
  9. }
  10. ],
  11. "mechanisms" : [
  12. "SCRAM-SHA-1" // 认证机制
  13. ]
  14. }

给用户增加teaweb权限

给已有用户增加权限(基于角色):

  1. db.grantRolesToUser("用户名", [
  2. {
  3. "role": "dbOwner",
  4. "db": "teaweb"
  5. }
  6. ])

其中,db固定为teaweb

创建新用户

如果还没有创建用户,可以使用以下命令创建:

  1. db.createUser({
  2. user: "用户名",
  3. pwd: "明文密码",
  4. roles: [
  5. {
  6. role: "dbOwner",
  7. db: "teaweb"
  8. }
  9. ]
  10. })

其中用户名明文密码换成你自己的用户名、密码;db固定为teaweb

使用认证方式启动MongoDB

通常可以使用—auth参数来指定MongoDB的启动方式为启动认证:

  1. bin/mongod --dbpath=./data/ --fork --logpath=./data/fork.log --auth