1 Star 0 Fork 17

阿飞/study-mongodb-redis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

study-mongodb

Mongodb数据库入门到实战: 结合实践案例,以任务为驱动,对Mongodb技术进行梳理,让开发者快速掌握Mongodb数据库。

MongoDB是什么

MongoDB并非芒果的意思,而是源于 Humongous(巨大)一词。中文叫盲狗db

MongoDB是面向文档的数据库,不是关系型数据库。它将原来**‘行’(row)的概念换成了更加灵活的‘文档’(document)模型**。面向文档的方式可以将文档和数组内嵌进来,所以用一条记录就可以表示很复杂的层次关系。 MongoDB没有模式,文档的键不会事先定义也不会固定不变。

Mongodb主要由文档(Document)、集合(Collection)、数据库(Database)三部分组成。

一个MongoDB实例,由多个数据库(Database)组成;一个数据库,由多个集合(Collection)组成;一个集合,又由多个文档组成。注意Mongodb单个文档大小上限为16MB,确保不会使用过多的内存RAM或在传输过程中占用过多的带宽。为了存储更大的文档,Mongodb提供了GridFS。

image

程序员注重对象,您的数据库也是。

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

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

注: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

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

image

3、Robo 3T

https://robomongo.org/download

教材及素材获取

https://www.ossbar.com/#/productDetail?proData={"productId"%3A315,"skuId"%3A972,"shopId"%3A138}

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/hello_afei/study-mongodb-redis.git
git@gitee.com:hello_afei/study-mongodb-redis.git
hello_afei
study-mongodb-redis
study-mongodb-redis
main

搜索帮助