docker搭建mongodb及基本语法的使用

发布时间 2023-04-22 13:59:15作者: chen_2987

一、介绍:

概述:

主使用docker安装mongodb的方法记录,mongo基本语法记录的整理,大神请绕道!

优势:

1.MongoDB提供高性能的数据持久性。对嵌入式数据模型的支持减少了数据库系统上的IO活动

2.如动态模式、灵活的文档模型,适合json数据存储,适合海量数据存储

使用场景:

1.数据量大,读写操作频繁,数据价值较低,对事务要求不高;

2用于事件记录、内容管理、博客平台,电商,游戏;

3.存储用户信息,朋友圈信息,通过地理位置索引实现附近的人、定位功能等;

4.存储订单信息、订单状态、物流信息,订单状态在运送过程中飞速迭代、以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更查出来;

 

二、搭建mongo:

1.pull镜像

docker pull mongo:4

ps:下载mongo镜像4的版本

 

2.创建映射文件的目录

mkdir -p /usr/local/mongodb/datadb

 

3.加载镜像运行容器

docker run -d \
--name mongodb \
-p 27017:27017 \
-v /usr/local/mongodb/datadb:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin \
--privileged=true \
--restart always \
mongo:4

 

4.参数说明

-d 后台运行容器
--name mongodb 运行容器名(给容器取个名字)
-p 27017:27017 将容器的27017端口映射到主机的27017端口(宿主机端口:容器端口)
-v /usr/local/mongodb/datadb:/data/db 文件挂载目录(目录映射,好处:1.在宿主机直接共享数据到容器,2.容器删除后宿主机文件依然存在)
-e MONGO_INITDB_ROOT_USERNAME=admin 指定用户名
-e MONGO_INITDB_ROOT_PASSWORD=admin 指定密码
--privileged=true 使得容器内的root拥有真正的root权限
--restart always 跟随docker一起启动,即docker启动时会自动运行容器

 

5.查看mongodb日志

docker logs mongodb

 

 

三、mongo的基本语法&用法

1.通用

#启动mongo
cd /usr/local/mongodb/bin
./mongod -f mongodb.conf  #以配置文件的方式启动MongoDB服务
./mongo或者mongo   #连接mongo数据库

#授权登录
use admin
db.auth('user','password')  #如果不授权就无法插入数据

show dbs;  #查看所有数据库(当数据库无内容或未授权时,不显示库名)
db 或db.getName();      #列出当前数据库
db.stats(); #查看当前数据库状态
db.version(); #查看当前数据库版本
db.getMongo(); #查看当前数据库链接机器
use 数据库名; #选择数据库(若库名存在切换数据库,若库名不存在则创建数据库)
db.数据库.find().count(); #查询库的集合总数
db.name.drop() #删除集合
db.dropDatabase(); #删除当前库
db.createUser({user:"admin",pwd:"password",roles:["root"]});    #创建用户

#设置: db.adminCommand(nameOrDocument) #切换到'admin'数据库,并且运行命令 db.AddUser(username,password[, readOnly=false]) #添加用户 db.auth(usrename,password) #设置数据库连接验证 db.cloneDataBase(fromhost) #从目标服务器克隆一个数据库

 

2.查询