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})

相关推荐
笃行35011 分钟前
别拿MySQL数据库管理工具硬导:MySQL 迁 KingbaseES 的完整工具链
数据库
风哥2号24 分钟前
数据库教程FGMT51‑PostgreSQL实例管理与参数文件
数据库·postgresql
蓝速科技1 小时前
桌面双屏翻译机量产调试:三类场景兼容性破局方案丨蓝速科技
运维·数据库·人工智能·科技·技术分享
达梦数据1 小时前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle
白远山1 小时前
24小时自助健身房系统开发实战:从需求分析到完整指南
java·开发语言·数据库·数据挖掘·需求分析
达梦数据2 小时前
DMDRS服务与模块的运行步骤
数据库
让学习成为一种生活方式2 小时前
PMGD:植物线粒体基因组数据库--Journal of Integrative Plant Biology
数据库
达梦数据3 小时前
达梦数据复制软件DMDRS搭建部署示例:源数据库DM8到目标数据库DM8一对一数据同步
数据库
IT_Octopus3 小时前
从一个应用开发者的角度,搞懂大数据查询的完整链路
java·大数据·数据库
Htr_3 小时前
Creem 2.0 使用指南:面向 AI 构建时代的资金平台
android·数据库·人工智能·ui·photoshop