目录
1. 安装
2. 基本命令
2.1 数据库和集合命令
数据库基本命令 | |
---|---|
db |
查看当前所在的数据库 |
show dbs/ show databases |
查看所有数据库 |
use 数据库名 |
切换数据库 |
db.dropDatabase() |
删除当前所在的数据库 |
集合collection相当于关系型数据库的表,也是不必须手动创建,当第一次插入数据的时候就会创建了
显示创建集合命令 | |
---|---|
db.createCollection(name,options) |
|
db.createCollection("memeda") |
创建名字为 memeda 的集合 |
db.createCollection("memeda", { capped: true, size: 10} ) |
创建memeda集合,并且限制大小,最大为10字节,超过之后就会 新来的数据覆盖最早的数据 |
基本集合命令 | |
---|---|
show collections |
显示当前数据库中所有的集合 |
db.集合名.drop() |
删除集合 |
2.2 mongodb数据类型
- Object ID: ⽂档ID
- String: 字符串, 最常⽤, 必须是有效的UTF-8
- Boolean: 存储⼀个布尔值, true或false
- Integer: 整数可以是32位或64位, 这取决于服务器
- Double: 存储浮点值
- Arrays: 数组或列表, 多个值存储到⼀个键
- Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档
- Null: 存储
null
值 - Timestamp: 时间戳, 表示从1970-1-1到现在的总秒数
- Date: 存储当前⽇期或时间的UNIX时间格式
Date类型的使用
对应python的 datetime类型
new Date('2017-12-20') // 17年12月
new Date(2018,0,1) // 18年1月1日
ObjectId
- 每个⽂档都有⼀个属性, 为
_id
, 保证每个⽂档的唯⼀性 - 可以⾃⼰去设置_id插⼊⽂档,如果没有提供, 那么MongoDB为每个⽂档提供了⼀个独特的_id, 类型为
objectID
ObjectID
是⼀个12字节的⼗六进制数:- 前4个字节为当前时间戳
- 接下来3个字节的机器ID
- 接下来的2个字节中MongoDB的服务进程id
- 最后3个字节是简单的增量值
2.3 基本数据命令
CRUD数据基本命令 | |
---|---|
db.集合名.insert( document ) |
插入数据(document是一个json |
db.集合名.save(document) |
保存, 如果_id 在collection中已经存在则修改,否则插入新数据 |
db.集合名.find() |
返回集合内的所有数据 |
db.集合名.update( 查询条件,更新后结果, {multi: false}) |
根据查询条件匹配,更新数据,默认更新一条 |
db.集合名.remove(查询条件, {justOne: false}) |
根据查询条件删除数据,默认删除多条匹配 |
a. 插入
db.集合名.insert( document )
示例:
db.stu.insert({
name:'gj',gender:1})
db.stu.insert({
_id:"20170101",name:'gj',gender:1})
如果插入的document不包含 _id
,则mongo会自动设置一个文档id字段_id
,类型为ObjectId
b. 保存
db.集合名.save(document)
插入+修改。 如果document中有_id
,并且collections中也有对应的数据,那么就会修改原数据;否则插入新数据
示例:
db.mongodemo.save