MongoDB基础

MongoDB

基于分布式文件存储的数据库由C++语言编写。B是一个介于关系数据库和非关系数据库(nosql)之间的产品。

缺点:不支持事务、不能进行多表联查

MongoDB解决mysql的"三高"问题

  1. 对数据库的高并发写入需求

  2. 对海量数据高效率存储访问需求

  3. 对数据库高扩展和高应用的需求

MongoDB应用场景

  1. 社交场景(e.g:朋友圈)

  2. 社游戏场景(e.g:用户得分、装备等)

  3. 物流场景(e.g:快递位置、状态、途径等)

  4. 视频场景(e.g:直播中的点赞数和互动留言等)

mysql和MongoDB的区别

  1. mysql里是表,mongoDB里面集合

  2. mysql存储方式是表,而mongodb存储方式是jsio文件

MongoDB与MySql存储方式比较

连接MongoDB(使用默认服务器和账号登录)

复制代码
 #mongo

查看MongoDB(磁盘上所有的库名)

复制代码
 show dbs

创建库(使用库)

复制代码
 use dbname

若使用的库不存在,它会自动创建该库。(创建集合[数据表] 后要(记录),集合才会真正创建)

查看当前使用的数据库

复制代码
 db

删除库

复制代码
 db.dropDatabase()

创建集合

复制代码
 db.createCollection("集合名")
 ​
 db.createCollection("students")

查看集合

复制代码
 show collection / show tables

删除集合

复制代码
 db.集合名.drop()

在集合中插入数据

复制代码
 db.集合名.insert(document)

例子:

复制代码
 db.student.insert(
     {
         shuai:true,
         money:true,
         gf:[{stuname:'小红'},{stuname:'小紫'}]
     }
 )

在集合中更新数据

MongoDB在集合中查询文档(find)

复制代码
 MongoDB 查询文档使用 find() 方法。
 find() 方法以非结构化的方式来显示所有文档。
 db.collection.find(query)
 pretty() 方法以格式化的方式来显示所有文档,linux下有用。
 >db.col.find().pretty()

MongoDB的 And条件

复制代码
 db.col.find({key1:value1, key2:value2})
 以上实例中类似于 WHERE 语句:WHERE key1=‘value1’ AND key2=‘value2

MongoDB的 Or条件

复制代码
 db.col.find(
 {
 $or: [
 {key1: value1}, {key2:value2}
 ]
 }
 )

MongoDB的 And 与 Or 一起使用

复制代码
 类似常规 SQL 语句为: ‘where key1>value1 AND (key2 =
 value2 OR key3 = value3)’
 db.col.find({“key1": {$gt:value1}, $or: [{“key2": “value2"},{“key3": “value3"}]})

MongoDB范围条件

复制代码
 col"集合中 “key" 大于100,小于 200 的数据
 > db.col.find({“key” : {$lt :200, $gt : 100}})
 相当于RDBMS:
 Select * from col where key>100 AND key<200

MongoDB的模糊查询

复制代码
 查询 name 包含“小"字的文档:
 db.col.find({“name”:/小/})
 查询 name 字段以“小"字开头的文档:
 db.col.find({“name”:/^小/})
 查询 name字段以“小"字结尾的文档:
 db.col.find({“name”:/小$/})

MongoDB的Limit 和 Skip操作

复制代码
 > db.col.find().limit(NUMBER)
 skip方法同样接受一个数字参数作为跳过的记录
 条数。
 > db.col.find().limit(NUMBER).skip(NUMBER)

MongoDB的统计

复制代码
 在 MongoDB 中使用count() 来统计个数
 >db.col.count(【{key:value}】)

MongoDB的排序

复制代码
 在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指
 定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -
 1 是用于降序排列。
 >db.col.find().sort({KEY:1})

MongoDB的索引

查看索引
复制代码
 db.collection.getIndexes() 
创建索引(单个索引,复合索引)
复制代码
 db.collection.createIndex(keys,option)

例如 :db.col.createIndex({username:1【, key:1】})

删除索引
复制代码
 db.collection.dropIndex(index) 

例如:db.col.dropIndex({username:1})

相关推荐
爱学习的白杨树23 分钟前
什么是MVCC?
java·服务器·数据库
平行线也会相交37 分钟前
云图库平台(三)——后端用户模块开发
数据库·spring boot·mysql·云图库平台
恒辉信达2 小时前
hhdb客户端介绍(53)
数据库·mysql·hhdb·数据库可视化界面客户端
指尖上跳动的旋律3 小时前
shell脚本定义特殊字符导致执行mysql文件错误的问题
数据库·mysql
一勺菠萝丶3 小时前
MongoDB 常用操作指南(Docker 环境下)
数据库·mongodb·docker
m0_748244834 小时前
StarRocks 排查单副本表
大数据·数据库·python
C++忠实粉丝4 小时前
Redis 介绍和安装
数据库·redis·缓存
wmd131643067125 小时前
将微信配置信息存到数据库并进行调用
数据库·微信
是阿建吖!5 小时前
【Linux】基础IO(磁盘文件)
linux·服务器·数据库
凡人的AI工具箱5 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite