Mongodb 常用命令

连接

验证端口

1
telnet ip 27107

连接数据库

1
mongo --host=127.0.0.1 --port=27017

管理员账户登录

1
mongo admin -u username -p pwd

数据库

查看数据库

1
show dbs

注意:3.0以上默认是不存在admin数据库

查询

  • 查看所有字段
    1
    db.table.find({})

删除指定字段

1
db.table.update({},{$unset:{'field_name':''}},false, true)

例如,删除product表的owner字段

1
db.product.update({},{$unset: {'owner': "" }}, false, true)

用户

创建管理员用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 选择数据库
use admin
# 查看用户列表
db.system.users.find()

db.createUser(
{
user: "superuser",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

# 授权
db.auth("username", "pwd")

角色说明

1
2
3
4
5
6
7
8
9
10
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

数据库添加用户

前提:使用管理员账户登录

对指定数据库创建普通用户

1
2
3
4
5
6
use db_name
db.createUser({
user: "username",
pwd: "pwd",
roles: [ { role: "readWrite", db: "db_name" } ]
})