mongo数据库的命令行操作
简单介绍
非关系型数据库,又叫nosql,缓存型,使用场景多是解决大规模数据集合多重数据种类
mysql | mongoDb |
---|---|
database(库) | database(库) |
table(表) | collection(集合) |
row(一条数据) | document(文档) |
column(字段) | field(区域) |
二维表,每次存到磁盘 | json,存在缓存,关闭时存到磁盘 |
命令行操作
help 查看基本操作命令
db.help() 显示数据库操作命令
库操作
查询:show dbs //显示数据库列表
db //查看当前数据库
创建:use 库名 //没有就创建,有就切换
删除:db.dropDatabase() //删除当前数据库
集合(表)操作
集合命名注意事项
- 集合名不能是空串
- 不能含有空字符
- 不能以“system.”开头,这是系统集合保留的前缀
- 集合名不能含保留字符“$”
创建:db.createCollection("集合名",{配置})
//配置:{size:文件大小,capped:true,max:条数/文档数}
// capped 是否定量、显示创建集合
db.集合.insert({}) //当插入文档的时候,如果集合存在,就会隐式创建集合
查询:show collections //不要漏了s!!!查询该数据库的所有表/集合 goods user
db.getCollectionNames() //[ "goods", "user" ]
删除:db.集合.drop() //删除集合
重命名:db.集合.renameCollection("集合名")
文档/数据操作
增
//插入单条数据
db.集合.insert({})
db.集合.insertOne({})
db.集合.save({})
//插入多条数据
db.集合.insert([{},{}])
db.集合.insertMany([{},{}])
db.集合.save([{},{}])
insert插入相同id的文档会报错
save插入相同文档,会替换掉原文档,相当于修改
删
//删除第一条文档
db.集合.deleteOne({条件描述})
db.集合.remove({条件描述},true) //默认是false,删除符合条件的所有文档
//删除多条文档
db.集合.deleteMany({条件描述}) //删除符合条件的所有文档,传入空对象时表示清空集合
db.集合.remove({条件描述}) //同上
改
db.集合.update({查询条件,{替换条件},插入boolean,全替换boolean})
//插入boolean: 如果不存在update的记录,是否插入objNew,
//true为插入,默认是false,不插入
//全替换boolean:默认是false,只更新第一条数据,
// true,更新符合条件的全部数据
查询条件
{age:22} age == 22
{age:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:22}̲} age > 22 {a…lt:22}} age < 22
{age:{KaTeX parse error: Expected 'EOF', got '}' at position 7: gte:22}̲} age>=22 {ag…lte:22}} age<=22
{age:{ gte:22}} age<=122 && age>=22
{$or:[{age:22},{age:122}]} 22 or 122
{key:value,key2,value2} value && value2
{name:/正则/}替换条件
{ inc:{age:1}}
查
db.集合.find({条件}) //查询所有符合条件的文档,为空的时候,表示查询所有
db.集合.findOne() //找第一个
db.集合.find().count() //查询集合的文档条数
db.集合.distinct() //去重
db.集合.find({条件},{指定要显示的列区域}) //查询后指定格式显示
指定要显示区域
username:1 显示这个区域
username:0 不显示这个区域
_id 默认显示
操作符 | 实例 |
---|---|
等于(=) | db.集合.find( { price : 24 } ) |
大于 (>) | db.集合.find( { price : { $gt : 24} } ) |
小于 (<) | db.集合.find( { price : { $lt : 24 } } ) |
大于等于 (>=) | db.集合.find( { price : { $gte : 24} } ) |
小于等于 (<=) | db.集合.find( { price : { $lte : 24} } ) |
不等于 (!=) | db.集合.find( { price : { $ne : 24} } ) |
与 (and) | db.集合.find( { price : 24 , name : “aa”} ) |
或 (or) | db.集合.find( { $or : [ { price : 24 } , {name : “aa”} ] } ) |
排序
db.集合.find().sort(key : 1) //升序
db.集合.find().sort(key1 : 1 , key2 : -1) //在key1升序的前提下 降序
跳过
db.集合.find().skip(number) //跳过
限定
db.集合.find().limit(number) //查询固定条数
skip(), limit(), sort()三个放在一起执行的时候,执行的顺序是 sort() => skip() => limit()。
以上就是关于mongo数据库使用命令行的简单操作,如有不对,欢迎指出~
转载:https://blog.csdn.net/caiweichao123/article/details/104908148