- 终端命令
1:mongo 启动MongoDB shell客户端的命令
2: mongod 启动MongoDB数据库服务的命令,三种启动方式(指定数据库目录–dbpath=/xxxxx/xxxxx,以配置文件方式启动-f /etc/mongodb.cnf,以守护进程方式启动–logpath=/data/db/mongodb.log --fork) - 数据库基本命令和用户类命令
1:关闭守护进程启动的mongodb
# db:查看当前数据库,查看所有用户:shows dbs,切换数据库:use 数据库名称(插入数据时候数据库才创建),删除当前连接的数据库;db.dropDatabase() 如果数据库不存在,则什么也不做
> use admin
switched to db admin
> db.shutdownServer()
server should be down...
如果误操作导致数据库连接不上,删除/data/db目录下的mongod.lock,再重启mongodb
重启命令:sudo mongod --repair
2:创建用户,指定权限,切换用户,删除用户
# 1. 切换admin数据库下
> use admin
switched to db admin
# 2. 创建一个拥有root权限的超级用户,拥有所有数据库的所有权限
# 用户名:python,密码:python,角色权限:root(最高权限)
> db.createUser({user : "python", pwd : "python", roles : ["root"]})
#多个权限的格式 roles : [{role : "read", db : "db_01"}, {role : "readWrite", db : "db_02"}]
使用用户
> db.auth('pyhton','pyhton')
查看用户信息
> show users
更改密码
>db.changeUserPassword('python','python’)
删除用户
>db.dropUser("python")
- 集合命令
#例1:不限制集合大小
db.createCollection("stu")
#例2:限制集合大小
- 参数capped:默认值为false表示不设置上限,值为true表示设置上限
- 参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节
语法 :
>db.createCollection("stu", {capped : true, size : 6142800} )
{ "ok" : 1 }
-查看当前集合
>show collections
-删除stu集合
>db.stu.drop()
- 数据类型
ObjectID:文档ID
String:字符串,最常用,必须是有效的UTF-8
Boolean:存储一个布尔值,true或false
Integer:整数可以是32位或64位,这取决于服务器
Double:存储浮点值
Arrays:数组或列表,多个值存储到一个键
Object:用于嵌入式的文档,即一个值为一个文档
Null:存储Null值
Timestamp:时间戳,表示从1970-1-1到现在的总秒数
Date:存储当前日期或时间的UNIX时间格式
其中ObjectID:
前4个字节为当前时间戳;
之后的3个字节的机器ID;
接下来的2个字节的MongoDB的服务进程id;
剩余3个字节是简单的增量值
一个字节等于2位十六进制(一位十六进制的数等于四位二进制的数。一个字节等于8位二进制数)