MongoDB命令
Posted 成九云笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB命令相关的知识,希望对你有一定的参考价值。
一、入门命令
(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模型
以上是关于MongoDB命令的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程