一、MongoDB简介
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接, MongoDB不支持 | |
primary key | primary key | 主键, MongoDB自动将_id字段设置为主键 |
1、mongodb 文档数据库,存储的是文档(Bson->json的二进制化).
json数据存储的就是js中对象和数组,如:{name:‘zhangsan’,age:‘9’}
2、MongoDB特点:内部执行引擎为JS解释器,把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.
3、mongo和传统型数据库相比,最大的不同:
- 传统型数据库: 结构化数据, 定好了表结构后,每一行的内容必是符合表结构的,就是说列的个数,类型都一样.
- mongo文档型数据库: 集合中存储的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)
- mongo数据库的collection不用提前创建(可以隐式创建,关系型数据库的表必须提前创建表的
4、mongodb数据库bin目录下的文件意义
5、mongo入门命令
show dbs //查看数据库
use databaseName //选库
show collections //查看当前库下的collection(show tables)
二、创建、删除库
- Mongodb的库是隐式创建,你可以use 一个不存在的库,然后在该库下创建collection,即可创建库
use dbname ---ues一个不存在的库
db.createCollection(‘collectionName’) ---在该库下面创建集合,就可以创建一个数据库
- 在MongoDB中,collection也是可以隐身创建的
db.collectionName.insert(document)
- 删除数据库和集合
db.collectionName.drop() //删除集合
db.dropDatabase() //删除数据库
三、mongodb增删改查操作
1、增:insert方法
- 首先要明确一点,MongoDB存储的是文档,文档其实就是json格式的对象。
db.collectionName.insert(document)
- 增加单篇文档:
db.collectionName.insert({title:’nice day’})
- 增加单个文档,并指定_id
db.collectionName.insert({_id:8,age:78,name:’lisi’})
- 增加多个文档
db.collectionName.insert(
[
{time:'friday',study:'mongodb'},
{_id:9,gender:'male',name:'QQ'}
]
)
2、删:remove
db.collection.remove(查询表达式, 选项)
选项是指 {justOne:true/false},是否只删一行, 默认为false
注意:
1: 查询表达式依然是个json对象 {age:20}
2: 查询表达式匹配的行,将被删掉.
3: 如果不写查询表达式,collections中的所有文档将被删掉
- 例1:删除stu表中 sn属性值为’001’的文档
db.stu.remove({sn:’001’})
- 例2: 删除stu表中gender属性为m的文档,只删除1行.
db.stu.remove({gender:’m’,true});
3、更新:update
db.collection.update(查询表达式,新值,选项)
4、查: find
db.collection.find(查询表达式,查询的列);
注:由于更新操作和查找内容较多,这里就不写了,我放有道云笔记了,并且有实例,可以练习
mongodb基础操作
http://note.youdao.com/noteshare?id=46dcb0788d9f005392c8b0e4c9e31e4d