一、入门命令
(1)查看当前的数据库
show dbs
(2)切换数据库
use databaseName
(3)查看当前数据库下的collection
show tables/collections
二、创建库
Mongodb的库是隐式创建,可以use一个不存在的库,然后在该库下创建collection,即可创建库
(1)创建collection
db.createCollection('collectionName')
(2)collection允许隐式创建
db.collectionName.insert(document)
(3)删除collection
db.collectionName.drop()
(4)删除database
db.dropDatabase()
三、基本操作增删改查
(1)增:insert
mongodb存储的是文档, 文档是json格式的对象
db.collectionName.insert(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'} ] )
(2)删:remove
db.collection.remove(查询表达式,{justOne:true/false})
justOne:是否只删一行,默认为false
注意:
查询表达式依然是个json对象
查询表达式匹配的行,将被删掉
如果不写查询表达式,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(查询表达式,新值,选项);
1.把news表中name值为QQ的文档改为{name:'MSN'}
db.news.update({name:'QQ'},{name:'MSN'})
结果: 文档中的其他列也不见了,改后只有_id和name列了,即新文档直接替换了旧文档,而不是修改
2.如果是想修改文档的某列,可以用$set关键字
db.collectionName.update(query,{$set:{name:'QQ'}})
(a)修改时的赋值表达式:
1.$set:修改某列的值
2.$unset:删除某个列
3.$rename:重命名某个列
4.$inc:增长某个列
5.$setOnInsert:当upsert为true时,并且发生了insert操作时,可以补充的字段
(b)Option的作用:
{upsert:true/false,multi:true/false}
upsert是指没有匹配的行,则直接插入该行(和MySQL中的replace一样)
1.如果有name='wuyong'的文档,将被修改。如果没有,将添加此新文档
db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true})
2.没有_id=99的文档被修改,因此直接插入该文档
db.news.update({_id:99},{x:123,y:234},{upsert:true})
multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)
1.把news中所有age=21的文档,都修改
db.news.update({age:21},{$set:{age:22}},{multi:true});
(4)查: find, findOne
db.collection.find(查询表达式,查询的列) db.collections.find(表达式,{列1:1,列2:1})
1.查询所有文档,所有内容
db.stu.find()
2.查询所有文档,的gender属性(_id属性默认总是查出来)
db.stu.find({},{gendre:1})
3.查询所有文档的gender属性,且不查询_id属性
db.stu.find({},{gender:1, _id:0})
4.查询所有gender属性值为male的文档中的name属性
db.stu.find({gender:'male'},{name:1,_id:0})
查看更多:
开发一个微信小程序实例教程
HTTP协议整理
PHP安全之Web攻击
秒杀系统设计优化
MySQL优化
Linux下常见的IO模型