目录
Windows安装与启动MongoDB
下载
启动MongoDB
通过命令启动
脚本
快速学习方法
与关系型数据库比较
什么是BSON
Windows安装与启动MongoDB
下载
企业版-收费
社区版-免费
下载Mongodb Download MongoDB Community Server | MongoDB
-
选择版本
- 稳定版5.0.9
-
选择平台
- Windows
-
选择安装包类型
- ZIP压缩版
解压即用
启动MongoDB
通过命令启动
mongod.exe --dbpath=path --logpath=path
- dbpath 指定数据存储位置
- logpath 指定日志存储在哪个位置
注意
指定的路径一定要存在
脚本
在创建mongo_home目录下创建start.bat文件输入内容,如下
D:\mongodb5_0_9\bin\mongod.exe --dbpath="d:\mongodb5_0_9\data" --logpath="d:\mongodb5_0_9\log\log.txt"
注意
里面路径改成自己的路径
快速学习方法
-
学习MongoDB的基本概念:了解MongoDB是一种文档型数据库,它使用集合和文档来存储数据。学习MongoDB的基本概念,如数据库、集合、文档、索引、查询等。
-
安装MongoDB:根据你的操作系统,在MongoDB官方网站上下载并安装适合的MongoDB版本。按照官方文档提供的指南进行安装和配置。
-
运行MongoDB服务器:启动MongoDB服务器。在终端或命令行中运行
mongod
命令,这将启动MongoDB服务器并监听默认端口27017。 -
连接到MongoDB:打开另一个终端或命令行窗口,并运行
mongo
命令来连接到MongoDB服务器。默认情况下,它将连接到本地服务器。 -
学习MongoDB Shell基本操作:MongoDB提供了一个命令行工具称为MongoDB Shell,用于与数据库进行交互。学习基本的MongoDB Shell命令,如创建数据库、切换数据库、创建集合、插入文档、查询数据等。
-
学习MongoDB驱动程序:MongoDB提供了各种编程语言的驱动程序,用于在应用程序中与MongoDB进行交互。选择适合你编程语言的MongoDB驱动程序,并学习如何连接和操作MongoDB数据库。
-
进一步学习高级概念和特性:一旦你熟悉了MongoDB的基本操作,可以进一步学习一些高级概念和特性,如索引优化、数据建模、聚合框架、复制集和分片等。
-
实践和练习:通过实际的项目或练习来应用你所学的MongoDB知识。尝试使用MongoDB进行数据存储、查询和分析,以加深你对MongoDB的理解和熟练度。
与关系型数据库比较
MongoDB与RDMS(关系型数据库)比较,如下图所示
RDMS | MongoDB |
---|---|
database(数据库) | database(数据库) |
table (表) | collection( 集合) |
row( 行) | document( BSON 文档) |
column (列) | field (字段) |
index(唯一索引、主键索引) | index (支持地理位置索引、全文索引 、哈希索引) |
join (主外键关联) | embedded Document (嵌套文档) |
primary key(指定1至N个列做主键) | primary key (指定_id field做为主键) |
什么是BSON
BSON是一种类似于JSON的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。BSON有三个特点:轻量性、可遍历性、高效性。
下表列出了MongoDB中Document可以出现的数据类型:
数据类型 | 说明 | document举例 |
---|---|---|
String | 字符串 | {key:“cba”} |
Integer | 整型数值 | {key:2} |
Boolean | 布尔型 | {key:true} |
Double | 双精度浮点数 | {key:0.23} |
ObjectId | 对象id,用于创建文档的id | {_id:new ObjectId()} |
Array | 数组 | {arr:[“jack”,“tom”]} |
Timestamp | 时间戳 | { createTime: new Timestamp() } |
object | 内嵌文档 | {student:{name:“zhangsan”,age:18}} |
null | 空值 | {key:null} |
Date或者ISODate | 日期时间 | {birthday:new Date()} |
Code | 代码 | {setPersonInfo:function(){}} |