一、MongoDB数据库操作
1、查看数据库:show dbs
2、创建数据库:use myDB
3、统计数据库信息:db.stats()
4、删除数据库:db.dropDatabase()
二、集合操作
1、创建集合:db.createCollection("myCollection")
2、查询集合:show tables/show collections
3、查看集合详细信息:db.getCollectionInfos()
4、重命名集合:db.myCollection.renameCollection("myCol")
5、删除集合:db.myColl.drop()
6、定长集合:db.myCollection("myCollection",{capped:true,size:10000})
capped:是否定长,true为定长
size:集合中文档数量
三、MongoDB文档操作
基本符号信息:
$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于$ne:不等于
1、插入文档
(1)db.stuinfo.insert([{_id:003,name:'harry',age:18},{_id:004,name:'curry',age:19}])
(2)db.stuinfo.save({_id:002,name:'nancy',age:19})
2、更新文档
(1)update() 方法用于更新已存在的文档。
格式:db.collection.update(<criteria>,<objNew>,upsert,multi,writeConcern)
upsert : 可选,这个参数的意思是,如果不存在 update 的记录,是否插入 objNew,true
为插入,默认是 false,不插入。
multi : 可选,mongodb 默认是 false,只更新找到的第一条记录,如果这个参数为 true,
就把按条件查出来多条记录全部更新。
例:
(2)save() 方法通过传入的文档来替换已有文档。
db.collection.save(<document>,{writeConcern:<document>})
例:db.stuinfo.save({_id:2,name:'curry',age:20})
(3)文档替换
(4)文档修改器
- $inc(增加和减少,只针对数字型)
- $set(可以完成特定需求的修改):更新集合中的文档, $set 用来指定一个键的值,如果这个键不存在,则创建它。
例:
1、给name为user1的文档添加address,可以使用命令:db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)
2、将name为user1的文档修改address为tj,其它键值对不变,命令为: db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1) 更新集合中的文档, $unset 用来删除某个键,
3、删除name为user1的文档中的address键,可以使用命令: db.c1.update({name:”user1”},{$unset:{address:1}},0,1)
- $push修改器(完成数组的插入)
- $addToSet(向文档中数组插入数值)
(5)更新多个文档
db.表名.update({x:1},{$set:{x:99}},false,true)
3、删除文档
(1)删除集合下全部文档
db.col.deleteMany({})
或 db.col.remove({})
具体如下图所示
(2)删除指定条件的文档
删除集合 stuinfo 中 name 等于王五的全部文档:
db.stuinfo.deleteMany({name:'王五'})
删除 age 等于 18 的一个文档:
db.stuinfo.deleteOne({age:18})