mongodb 文档数据库,存储的是文档(Bson->json的二进制化).
特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.
mongo和传统型数据库相比,最大的不同:
传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说–列的个数,类型都一样.
mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)。
1: mongo入门命令
1.1: show dbs 查看当前的数据库
1.2 use databaseName 选库
1.2 show tables/collections 查看当前库下的collection
1.3 如何创建库?
Mongodb的库是隐式创建,你可以use 一个不存在的库
然后在该库下创建collection,即可创建库
1.4 db.createCollection(‘collectionName’)
创建collection
1.5 collection允许隐式创建
Db.collectionName.insert(document);
1.6 db.collectionName.drop() ,
删除collection
1.7 db.dropDatabase();
删除database
基本操作增删改查
增: insert
介绍: mongodb存储的是文档,. 文档是json格式的对象.
语法: db.collectionName.isnert(document);
1: 增加单篇文档
Db.collectionName.insert({title:’nice day’});
2: 增加单个文档,并指定_id
Db.collectionName.insert({_id:8,age:78,name:’lisi’});
3.增加多个文档
db.collectionName.insert(
[
{time:’friday’,study:’mongodb’},
{_id:9,gender:’male’,name:’QQ’}
]
)
删:remove
语法: db.collection.remove(查询表达式, 选项);
选项是指 {justOne:true/false},是否只删一行, 默认为false
注意
1: 查询表达式依然是个json对象
2: 查询表达式匹配的行,将被删掉.
3: 如果不写查询表达式,collections中的所有文档将被删掉.
例1: db.stu.remove({sn:’001’});
删除stu表中 sn属性值为’001’的文档
例2: db.stu.remove({gender:’m’,true});
删除stu表中gender属性为m的文档,只删除1行.
改 update操作
改谁? — 查询表达式
改成什么样? – 新值 或 赋值表达式
操作选项 —– 可选参数
语法: db.collection.update(查询表达式,新值,选项);
例:
db.news.update({name:’QQ’},{name:’MSN’});
是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},
结果: 文档中的其他列也不见了,改后只有_id和name列了.
即–新文档直接替换了旧文档,而不是修改
如果是想修改文档的某列,可以用set关键字
db.collectionName.update(query,{set:{name:’QQ’}})
修改时的赋值表达式
set修改某列的值
unset 删除某个列
rename重命名某个列
inc 增长某个列
$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段.