MongoDB
1.下载安装
1.1 下载MongoDB
这里我推介下载zip版本,解压到任意盘,由于C盘容易满,所以我放到了D盘。我在D盘创建了一个 mongoDB 的目录,并将压缩包解压到了这个目录里面。
下载地址:https://www.mongodb.com/try/download/community
mongodb 可以不用配置环境变量。配置环境变量只是为了能在终端(cmd窗口)任意路径中执行bin目录中的命令,就是起到一个方便的作用。
环境变量也非常的简单,
H:\mongoDB\bin
将这个添加到系统变量path不配置环境变量。如果要启动数据库只能在解压后的 bin 目录中打开 cmd 窗口输入 mongod --dbpath=…\data\db 才可以启动,(这里 dbpath 是指定数据存放的位置,默认在c盘)这里暂时不要启动数据库,因为没有创建 data 目录还有 db 目录
不过等会会将 MongoDB 添加到系统服务中,这样就不用手动来启动了。
1.2 创建目录及配置文件
接下来在 F盘创建 data
目录,继续在 data
目录下创建 db
以及 log
。log
目录中还需要创建 mongod.log
文件。这个文件一定要创建否则找不到会报错。
- db:表示数据存储的文件夹
- log:表示日志打印的文件夹
然后在 bin
目录的同级目录创建 mongod.cfg
文件(说明:配置创建路径其实可以随意,但是不建议😅。后缀也可以随意,建议语义化点比如:cfg、config、conf…),并写入如下内容,注意:配置件缩进需要使用tab键(根据自己安装的路径来配置)。
mongod.cfg
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: F:\data\db
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: F:\data\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
mongod --config H:\mongodb\bin\mongod.cfg --install --serviceName "mongodb"
- path 是配置打印日志的目录
- dbpath 是配置数据的存储位置
- port 是配置的端口号
1.3 添加到服务(开机自动启动)
只有将 mongodb
添加到系统服务中,他才能自动启动。
注意!!必须以管理员身份打开 cmd
窗口。
这里表示执行配置文件,需要写入你的配置文件路径:
mongod --config H:\mongodb\bin\mongod.cfg --install --serviceName "mongodb"
如果配置文件执行报错,最终无法启动,那么就自己在命令行配置mongoDB,把上面需要执行的命令替换为如下命令即可(注意修改自己的路径)
mongod --dbpath "F:\data\db" --logpath "F:\data\log\mongod.log" --install --serviceName "mongodb"
启动mongoDB:
net start mongodb
后续如果修改 mongoDB 的端口就直接改配置文件,删除服务(服务的删除执行命令:sc delete mongodb),重新执行“添加到服务”
1.4 检查
在键盘上按 “WIN+R”,输入“services.msc”指令确定。
打开服务后,找到MongoDB,如下图表示已经成功!
到这里你已经完成了 mongoDB 的所有配置。接下来如果你需要连接数据库。分两种情况:
- 使用 cmd 命令窗口连接
- 如果你已经配置了环境变量,直接在 cmd 窗口中输入
mongo
即可连接成功 - 如果没有配置环境变量,则需要在 bin 目录中打开 cmd 窗口,输入
mongo
- 如果你已经配置了环境变量,直接在 cmd 窗口中输入
2.基本介绍
三个概念
- 数据库(database):数据库是一个仓库,在仓库中可以存放集合(collection)
- 集合(collection):一个集合类似于数组,在集合中可以存放文档(document)
- 文档(document):文档数据库中的最小单位,我们存储和操作的内容都是文档
3.基本操作
在MongoDB中,数据库和集合都不需要我们手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在,她会自动创建数据库和集合!
基本指令
- show dbs 或show databases
- 查看所有的数据库
- use xxx
- 切换到指定的数据库
- db
- 查看当前操作的数据库
- show collections
- 查看当前数据库中所有的集合
4.插入文档
- 插入一条数据
- db.collectionName.insertOne( {name:‘liu’} )
- db表示的是当前操作的数据库
- collectionName表示操作的集合,若没有,则会自动创建
- 插入的文档如果没有手动提供_id属性,则会自动创建一个
- db.collectionName.insertOne( {name:‘liu’} )
- 插入多条数据
- db.collectionName.insertMany( [ {name:‘liu5’} , {name:‘liu6’} ] )
- 需要用数组包起来
- db.collectionName.insertMany( [ {name:‘liu5’} , {name:‘liu6’} ] )
- 万能API:db.collectionName.insert()
向集合中插入一个或多个文档
当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动给文档添加_id
该属性用来作为文档的唯一标识
_id
可以自己指定,如果我们指定了,数据库就不会再添加了,如果自己指定_id必须也确保唯一性
db.stus.insert({
name:"dselegent",age:28,gender:"男"})
db.stus.insert([
{
name:"沙和尚",age:36,gender:"男"},
{
name:"白骨精",age:16,gender:"女"},
{
name:"蜘蛛精",age:14,gender:"女"}
])
#添加两万条数据