# study-mongodb
mogodb_zhujw
Mongodb数据库入门到实战: 结合实践案例,以任务为驱动,对Mongodb技术进行梳理,让开发者快速掌握Mongodb数据库。
# MongoDB是什么
MongoDB并非芒果的意思,而是源于 Humongous(巨大)一词。中文叫盲狗db
MongoDB是面向文档的数据库,不是关系型数据库。它将原来**‘行’(row)的概念换成了更加灵活的‘文档’(document)模型**。面向文档的方式可以将文档和数组内嵌进来,所以用一条记录就可以表示很复杂的层次关系。 MongoDB没有模式,文档的键不会事先定义也不会固定不变。
Mongodb主要由文档(Document)、集合(Collection)、数据库(Database)三部分组成。
一个MongoDB实例,由多个数据库(Database)组成;一个数据库,由多个集合(Collection)组成;一个集合,又由多个文档组成。注意Mongodb单个文档大小上限为16MB,确保不会使用过多的内存RAM或在传输过程中占用过多的带宽。为了存储更大的文档,Mongodb提供了GridFS。
![image](https://user-images.githubusercontent.com/110378589/194085125-1c6a74ca-00c1-4866-8da2-64f1f85a2fa1.png)
## 程序员注重对象,您的数据库也是。
MongoDB 是一个文档数据库,即在类似 JSON 的文档内存储数据。我们认为面对数据,这种方法非常自然,比传统的排/列模型更加直观和强大。
## 丰富的 JSON 文档
● 自然、高效的数据处理方法。
● 支持将数组和嵌套对象存储为值。
● 支持灵活、动态结构。
## 强大的查询语言
● 查询语言丰富和直观,支持通过任何字段进行筛选和排序,而不受其在文档内的嵌套方式影响。
● 支持聚合和其他现代使用案例,如基于地理的搜索、图搜索和文本搜索。
● 查询本身是 JSON 格式,因此很容易进行组合。无需串联字符串即可动态生成 SQL 查询。
## MongoDB特性
MongoDB的3大技术特色如下所示:
除了上图所示的还支持:
二级索引、动态查询、全文搜索 、聚合框架、MapReduce、GridFS、地理位置索引、内存引擎 、地理分布等一系列的强大功能。
但是其也有些许的缺点,例如:
● 多表关联: 仅仅支持Left Outer Join
● SQL 语句支持: 查询为主,部分支持
● 多表原子事务: 不支持
● 多文档原子事务:不支持
● 16MB 文档大小限制,不支持中文排序 ,服务端 Javascript 性能欠佳
## MongoDB适用场景
MongoDB的应用已经渗透到各个领域,比如游戏、物流、电商、内容管理、社交、物联网、视频直播等,以下是几个实际的应用案例:
● 游戏场景:使用MongoDB存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。
● 物流场景:使用MongoDB存储订单信息,订单状态在运送过程中会不断更新,以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
● 社交场景:使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。
● 物联网场景:使用MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。
● 视频直播:使用MongoDB存储用户信息、礼物信息等。
![image](https://user-images.githubusercontent.com/110378589/194083181-4772c80d-7117-4e45-b698-4c5f738e0d01.png)
# MongoDB的安装和配置
## 安装前的准备
### 1.芒果数据库官网地址:https://www.mongodb.com/
备用下载链接:http://dl.mongodb.org/dl/win32/x86_64
### 2.选择合适的Mongodb社区版或企业版
下载可以选择 zip 格式或者 msi 格式,msi 格式就是下一步、下一步安装。我们讲解 zip格式。
### 3.解压缩这个文件夹,建议不要有中文路径
## 安装说明
### 1. 文件配置
进入解压后的文件夹,新建data和log文件夹,并在log文件夹下,新建mongod.log空文件
新建mongod.conf文件与bin文件夹同级
mongod.conf写入以下内容
![image](https://user-images.githubusercontent.com/110378589/194069719-e2f369a5-f2c7-4c27-b922-9ba7e2cdfd37.png)
注:dbpath和logpath根据自己的具体路径进行修改
### 2. 安装
开始---运行--cmd (ctrl+shift+Enter)调出windows终端,在mongodb解压目录的bin目录下执行如下命令:例如
mongod --config D:\mongodb-win32-x86_64-windows-5.0.11\mongod.conf--install --serviceName mongodb
执行后的结果可以在控制面板---管理工具--服务列表中查看到服务名为mongodb的进程。
注:在cmd操作下执行一定要以管理员身份运行,否则可能造成安装失败
正常情况下执行后窗口没有任何反应,其实是正常在生成data下默认的几个数据库文件,可以查看是否已经在data目录下生成初始化文件。
### 3. 查看服务及启动服务
启动/停止mongodb:
net start/stop mongodb
## 客户端工具推荐
MongoDB客户端工具推荐:
### 1、NoSQL Manager for MongoDB Freeware
https://www.mongodbmanager.com/download
![image](https://user-images.githubusercontent.com/110378589/194070651-0eb146ab-9932-44e6-808b-40517f095bd3.png)
### 2、Navicat Premium全能数据库工具(强烈推荐)
Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。
默认情况下Navicat 不显示mongodb默认三个数据库,需要显示隐藏的项目
![image](https://user-images.githubusercontent.com/110378589/194070888-f5197a6f-0841-41ec-8a7e-0fad9fa40e0e.png)
![image](https://user-images.githubusercontent.com/110378589/194070792-26c9c4bd-3400-4eca-b5db-34704c972f3f.png)
### 3、Robo 3T
https://robomongo.org/download
# 教材及素材获取
https://www.ossbar.com/#/productDetail?proData=%7B%22productId%22%3A315,%22skuId%22%3A972,%22shopId%22%3A138%7D
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
NOSQL数据库入门到实战: 结合实践案例,以任务为驱动,对Mongodb、Redis数据库技术进行梳理,让开发者快速掌握Mongodb和Redis数据库。Mongodb主要由文档(Document)、集合(Collection)、数据库(Database)三部分组成。
资源推荐
资源详情
资源评论
收起资源包目录
study-mongodb-redis-main.zip (41个子文件)
study-mongodb-redis-main
LICENSE 11KB
study-mongodb-template
pom.xml 1KB
src
test
java
mongodb
TestMongo.java 6KB
main
resources
mongodb.properties 82B
java
com
ossbar
mongodb
MongoUtils.java 2KB
study-redis-template
pom.xml 7KB
src
test
java
com
ossbar
redis
TestHashOperate.java 1KB
TestListOperate.java 1KB
TestKeyOperate.java 2KB
TestStringOperate.java 927B
TestSsetsOperate.java 1KB
TestSetOperate.java 1KB
main
resources
jedis.properties 1KB
readme.txt 774B
java
com
ossbar
redis
utils
JedisPoolTest.java 374B
JedisPoolUtils.java 2KB
.gitignore 333B
study-mongodb-springboot
pom.xml 4KB
src
test
java
com
cbitedu
studymongodb
StudyMongodbApplicationTests.java 4KB
main
resources
templates
login.html 1KB
index.html 322B
static
iconfont
icon.css 7KB
css
login.css 3KB
application.yml 1KB
logback-spring.xml 2KB
db
dept.json 525B
emp.json 3KB
java
com
cbitedu
studymongodb
StudyMongodbApplication.java 341B
controller
UserController.java 2KB
dao
DeptDao.java 220B
UserDao.java 552B
EmpDao.java 216B
service
UserService.java 1KB
DeptService.java 380B
EmpService.java 271B
entity
Dept.java 564B
Emp.java 738B
User.java 525B
LICENSE 11KB
.gitignore 333B
README.md 6KB
共 41 条
- 1
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 7361
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功