MongoDB4.x之Windows中安装与基础操作

MongoDB4.x之Windows中安装与基础操作

官网:https://www.mongodb.com

官网下载:https://www.mongodb.com/download-center/community

1.安装与配置

1.msi格式文件安装及配置

以4.0版本为例

  1. 下载mis文件直接安装
  2. 配置环境变量
  3. 新建db与log目录,然后启动
# 1.在安装目录(F:\Program Files\MongoDB\Server\4.0\data)下新建db目录
# 2.在安装目录下新建log目录,4.0会默认创建此目录
# 3.启动测试
#不设置端口号方式启动,默认端口号为27017
mongod -dbpath "F:\Program Files\MongoDB\Server\4.0\data\db"
#设置端口后启动
mongod -dbpath "F:\Program Files\MongoDB\Server\4.0\data\db" --port=27001
  1. 服务启动后,输入mongo命令进入客户端进行测试
C:\Users\jinshengyuan>mongo
MongoDB shell version v4.0.8
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("35a3c85f-80dd-4162-b75b-e25d7b71a5f0") }
MongoDB server version: 4.0.8
Server has startup warnings:
2019-04-10T22:58:21.737+0800 I CONTROL  [initandlisten]
2019-04-10T22:58:21.737+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-04-10T22:58:21.738+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-04-10T22:58:21.738+0800 I CONTROL  [initandlisten]
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
  1. 浏览器中访问
#浏览器中输入:http://localhost:27017 后出现下面信息表明启动成功
It looks like you are trying to access MongoDB over HTTP on the native driver port.
  1. 配置mongodb.conf文件,然后以此文件启动
#设置数据库目录的路径
dbpath=F:\Program Files\MongoDB\Server\4.0\data\db
#设置日志信息的文件路径
logpath=F:\Program Files\MongoDB\Server\4.0\log\mongodb.log
#打开日志输出操作,控制台不在输出日志,直接输出在mongodb.log文件中
logappend=true
#在以后进行用户管理的时候使用它 
noauth=true
#设置端口号,后续的程序开发中必须使用端口号
port=27001
  1. 重新启动
#切换到admin数据库,跟MySQL类似
use admin
# 关闭数据库服务,注意MongoDB严格区分大小写
db.shutdownServer()
# 重新启动,以后推荐使用这种方式启动
mongod -f "F:\Program Files\MongoDB\Server\4.0\mongodb.conf"

2.解压缩版本安装与配置

mongodb-win32-x86_64-2012plus-ssl-4.2.0.zip版本为例

1. 解压与安装

  1. 将下载的mongodb-win32-x86_64-2012plus-ssl-4.2.0.zip解压到D:\MongoDB\Server\4.2.0目录下;
  2. D:\MongoDB\Server\4.2.0目录下新建data\db与log两个文件夹,并在log下新建mongo.log文件;
  3. D:\MongoDB\Server\4.2.0目录下新建mongo.conf文件,内容如下
#设置数据库目录的路径
dbpath=D:\MongoDB\Server\4.2.0\data\db
#设置日志信息的文件路径
logpath=D:\MongoDB\Server\4.2.0\log\mongo.log
#打开日志输出操作,控制台不在输出日志,直接输出在mongo.log文件中
logappend=true #日志采用追加模式   
#启用日志文件,默认启用 
journal=true  
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false  
#在以后进行用户管理的时候使用它 
noauth=true
#设置端口号,后续的程序开发中必须使用端口号
port=27017
  1. 进入mongodb的bin目录下,输入下面命令
mongod --config "D:\MongoDB\Server\4.2.0\mongo.conf"
#注:此命令执行完事后,会在D:\MongoDB\Server\4.2.0\data\db目录下初始化一些文件及文件夹,然后关闭cmd窗口,新打开一个cmd窗口,执行下面命令
#指定写入数据文件目录,不要关闭命令行页面
mongod --dbpath "D:\MongoDB\Server\4.2.0\data\db"
#新开cmd窗口,然后在bin目录下输入mongo,出现命令行窗口,则说明安装成功
  1. 或在浏览其中输入http://localhost:27017/,如果页面中出现下面内容说明安装成功
It looks like you are trying to access MongoDB over HTTP on the native driver port.
  1. 重新启动
#切换到admin数据库,跟MySQL类似
use admin
# 关闭数据库服务,注意MongoDB严格区分大小写
db.shutdownServer()
# 重新启动,以后推荐使用这种方式启动
mongod -f "D:\MongoDB\Server\4.2.0\mongodb.conf"

2. 注册mongodb服务

  1. 将MongoDB注册到Windows服务中,如下:
mongod --logpath "D:\MongoDB\Server\4.2.0\log\mongo.log" --logappend --dbpath "D:\MongoDB\Server\4.2.0\data\db" --serviceName MongoDB --install

上面命令执行后,使用 net start MongDB命令启动MongoDB服务,如果出现下面错误,说明为注册成功

D:\MongoDB\Server\4.2.0\bin>net start MongoDB
MongoDB 服务正在启动 .
MongoDB 服务无法启动。

发生服务特定错误: 100.

请键入 NET HELPMSG 3547 以获得更多的帮助。

  • 解决方法:
  1. 删除D:\MongoDB\Server\4.2.0\data\db目录下的mongod.lock和storage.bson文件
  2. 删除原本添加的MongoDB服务
# sc delete 服务名称
sc delete MongoDB
  1. 上面步骤完事后,在执行下面命令注册即可成功
mongod --logpath "D:\MongoDB\Server\4.2.0\log\mongo.log" --logappend --dbpath "D:\MongoDB\Server\4.2.0\data\db" --serviceName MongoDB --install

2 .服务注册成功后,可以使用下面命令启停MongoDB服务

net start MongoDB
net stop MongoDB

3.环境变量配置

D:\MongoDB\Server\4.2.0\bin添加到环境变量或系统变量中的path中即可

3. 解压版mongod.cfg安装

  1. 解压下载的xxx.zip
  2. 在MongoDB的Server目录下新建data与log两个文件夹
  3. 新建mongod.cfg文件放置在MongoDB安装目录的bin目录下
  4. 编辑安装MongoDB及启动自动启动脚本
  5. 如果开启了认证机制,则接着创建超级用户并设置密码

1. 解压

解压到指定的目录,如D:\MongoDB,然后将解压所得的所有的文件统一放在Server目录下

2. 创建data与log两个目录

如在D:\MongoDB\Server下直接创建data与log目录即可

3. 编辑monod.cfg文件

monod.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: D:\MongoDB\Server\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
# 系统日志
systemLog:
  destination: file
  logAppend: true
  path:  D:\MongoDB\Server\log\mongod.log

# network interfaces
# 配置IP地址及端口后
net:
  port: 27017
  bindIp: 0.0.0.0


#processManagement:

#security:
# 开启安全认证机制
security:
  authorization: enabled
#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

4.自动安装及启动脚本

编写自动安装的批处理文件,autoxxx.bat

autoInstallAndStart.bat 如下:

echo MmongoDB installing
%~dp0mongod --config "D:\hifarSetup\MongoDB\Server\bin\mongod.cfg"  --serviceName MongoDB --install
echo MongoDB installed

net start MongoDB

5. 开启权限机制后创建超级用户名及密码

  1. 需要在mongod.cfg文件中开启权限认证,如下

    security:
      authorization: enabled
    
  2. 编写一个执行创建用户的.js文件

    如adminAuth.js如下

    var db = connect('admin');//连接到admin数据库
    //创建admin账号及密码并授予root角色
    db.createUser({
    	"user":"admin",
    	"pwd":"sysadmin",
    	"roles":[
    		{role:"root",db:"admin"}
    	]
    });
    
  3. 执行adminAuth.js

    # 在DOS窗口下切换至MongoDB安装目录的bin目录下,执行下面脚本
    mongo D:\adminAuth.js
    

2.Studio3T破解

Studio 3T 破解有可能会失败,可以搜其他方式来破解

1、创建文件studio3t.bat

@echo off
ECHO 重置Studio 3T的使用日期......
FOR /f "tokens=1,2,* " %%i IN ('reg query "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" ^| find /V "installation" ^| find /V "HKEY"') DO ECHO yes | reg add "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" /v %%i /t REG_SZ /d ""
ECHO 重置完成, 按任意键退出......
pause>nul
exit

2、将文件studio3t.bat文件移动到如下路径中

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

3、双击studio3t.bat运行

3.基础操作

1. 基本操作

  1. 数据库与集合
-- 1.查看数据库
show databasesshow dbs
-- 2.切换数据库
use test --如果test数据库不存在则创建,其实不是真正的创建,只有到当前数据库下创建集合的时候才会创建
-- 3.查看当前数据库下的集合
show collections

2. 文档之间的关系

1. 一对一

举例:人与身份证的关系,一个人只能有一张身份证;一张身份证只能属于一个人

  1. 向person集合中添加人员名称及身份证的一对一文档信息
db.person.insert([{"name":"张三","atrr":{"my_id":"xxxxxxxxxxxxxxxxxxxx"}}])
--查看
db.person.find({"name":"张三"})

2. 一对多(或多对一关系)

举例:

用户与订单的关系:一个用户可以有多个订单,但是一个订单只属于一个用户

  • 创建两个集合user与order
  • user集合中存放用户的信息,order集合中存放用户的id及用户的订单信息来建立一对多的关系
  1. 用户集合
--创建user集合并向user集合中写入文档信息
db.user.insert({"name":"jinshengyuan","password":"123456","nickname":"yuan"})
--查看用户信息
db.user.find();
  1. order集合
--创建order集合并将订单信息与用户id文档信息写入集合中
db.order.insert({
"user_id":db.user.findOne({"name":"jinshengyuan"})._id,
"orderList":[
	{"order_id":"1","order_name":"华为P30"},
	{"order_id":"2","order_name":"小米9"},
	{"order_id":"3","order_name":"空气净化器"}]
});

3.多对多

举例:老师与学生的关系

在一对多的基础上,多的id存放在一个id的数组中即可

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值