一、介绍:
概述:
主使用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.查询
标签:容器,mongo,mongodb,数据库,db,语法,docker From: https://www.cnblogs.com/chen-xia/p/17342954.html