docker安装MongoDB创建用户,并用工具Robo连接简单CRUD
搜索mongo
- docker search mongo
拉取mongo【这里默认为latest】
- docker pull mongo
查看本地镜像
启动容器【就是安装,-v后面的参数表示把数据文件挂载到宿主机的路径,-p把mongo端口映射到宿主机的指定端口,--auth表示连接mongodb需要授权】
- docker run -p : -v /tmp/db:/data/db -d mongo
查看运行中的容器
- docker ps
进入mongo【以 admin 用户身份进入mongo,相当于oracle的用户也就是库,mysql的库】
- docker exec -it 4abc1e6e12bd mongo admin
创建一个 admin 管理员账号
- db.createUser({ user: 'admin', pwd: '密码', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
对 admin 进行身份认证
- db.auth("admin","密码");
用工具连接mongo【Robo】
https://robomongo.org/download
查看数据库
- show databases
- db.getMongo().getDBs()
查看当前数据库
- db
mongo与mysql对应:库概念一样,mongo的集合对应mysql的表,mongo的文档对应mysql的行数据
创建
插入多条数据insert()
只能插入一条数据insertOne()
插入多条数据insertMany()
- // teachers就是集合,{name: "smallstudy"}这些就是文档
- db.teachers.insert([
- {name: "smallstudy"},
- {name: "zhangsan"},
- {name: "lisi"}
- ])
- // 等价于
- db.teachers.insertMany([
- {name: "smallstudy"},
- {name: "zhangsan"},
- {name: "lisi"}
- ])
一对多
- db.teachers.insertMany([
- {name: "smallstudy"},
- {name: "zhangsan"},
- {name: "lisi"}
- ])
- //创建后拿到teachers的id
- db.students.insert([
- {name: "laodage", teacher_id: ObjectId("5c7102f7eda36e7892b9defb")},
- {name: "xiaolaodi", teacher_id: ObjectId("5c7102f7eda36e7892b9defb")},
- {name: "enen", teacher_id: ObjectId("5c7102f7eda36e7892b9defc")}
- ])
- // 查询
- var teacher_id = db.teachers.findOne({"_id": ObjectId("5c7102f7eda36e7892b9defb")})._id;
- db.students.find({teacher_id: teacher_id});
- // 或
- db.students.find({teacher_id: db.teachers.findOne({"_id": ObjectId("5d25861568a280ba089f91d1")})._id});
查询
find()
findOne()
- // 查集合下所有文档
- db.teachers.find()
- // 查集合下某个文档
- db.teachers.find()[]
- db.teachers.find({"name": "zhangsan"})
- // 查看集合长度,也就是看集合有多少文档
- db.teachers.find().count()
- db.teachers.find().length()
- // 只显示2条数据
- db.teachers.find().limit()
- // 跳过第1条数据显示2条数据,用于分页
- db.teachers.find().skip().limit()
修改
update()
updateOne()
updateMany()
replaceOne()
- db.teachers.update({"name": "lisi"}, {$set:{"name": "lisi2", "age": }})
- // 这里的修改时先删除后添加的
删除
remove()
deleteOne()
deleteMany()
drop()
- // 直接删集合
- db.teachers.remove()
- db.collectionName.drop()
- // 删文档
- db.teachers.remove({"name": "lisi2"})
docker安装MongoDB创建用户,并用工具Robo连接简单CRUD的更多相关文章
- MongoDB学习笔记二:使用Docker安装MongoDB
目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...
- Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx
Docker安装MongoDB.MySQL.Jenkins.Gitlab.Nginx 安装MongoDB 1. 拉取镜像 $ sudo docker pull mongo 2. 运行镜像 $ sudo ...
- Linux平台安装MongoDB及使用Docker安装MongoDB
一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...
- Docker01 centos系统安装、centos安装docker、docker安装mongoDB
1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...
- rabbitMQ的安装和创建用户
rabbitMQ的安装和创建用户 在计算机科学中,消息队列(英语:Message queue)是 一种 进程间通信或同一进程的不同 线程 间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户. ...
- Docker 安装 mongoDB(五)
Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...
- docker 安装MongoDB以及设置用户
MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序. 1.查看可用的 MongoDB 版本 访问 MongoDB 镜像库地址: https://hub.docker.com/_/ ...
- mongodb 安装到创建用户,认证auth,httpinterface
今天花了一天时间来解开这个mongodb的谜团,如果有遇到了其他的问题,可以咨询我. #开始 2.6.10安装方式 不同版本后面设置用户权限方式有所差异#下载这个版本的mongodb mongodb- ...
- MongoDb在windows10下的安装、创建用户和数据库
1.mongodb下载地址https://www.mongodb.com/download-center#community 2.安装 3.在D:\MongoDB目录下创建db和log两个文件夹 ...
随机推荐
- spark,hadoop集群安装注意
安装步骤严格参看厦门大学数据实验室教程 Spark 2.0分布式集群环境搭建(Python版) 安装Hadoop并搭建好Hadoop集群环境 遇到的问题 1.ubuntu 安装后升级.python是3 ...
- leaflet常用插件库
1.常用地图切换加载(osm.google.baidu.gaode.tianditu.etc)https://github.com/htoooth/Leaflet.ChineseTmsProvider ...
- spaceclaim脚本(线生成面体)
#新建一个列表,用来保存修剪曲线(PS:修建曲线的意思是开始点和结束点不在一起,圆就不属于修建曲线) #注意和Line,Circle类型等的区别 curves = List[ITrimmedCurve ...
- JS中注入eval, Function等系统函数截获动态代码
正文 现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和 ...
- 第10组 Alpha冲刺(3/6)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 对推送模块进行详细划分 基于用户的协同过滤,寻找更感兴趣的话题 学习API文档 ...
- postgresql 增量备份
介绍: barman是postgresql备份还原的管理工具. 本文环境: 系统: centos6.6 PostgreSQL 9.3.9 barman-1.4.1-1.rhel6.noarch.rpm ...
- U盘量产过程PS2251-07(PS2307) - F/W 01.05.10 [2014-05-23]
说明本篇文章可能无法解决你的问题,请谨慎尝试.本博客中使用的工具提供下载(如果没有积分,可联系作者免费获取)ChipGenius_v4_00_0030UPTool_v2.089起因 U盘原先正常使用, ...
- PathVariable传过来的中文乱码是怎么回事
今天在写一个spring mvc程序,由于客户原来设计的原因,不能传id过来,只能传名称,结果发现收到的数据是乱码. 百度之后,找到别人的解决方案,试了下没问题,转载一下.使用的web服务器是Tomc ...
- JVM 字节码的结构
编译的.class文件,可以用javap进行反编译 javap Test.class javap -c Test.class javap -verbose Test.class 1.创建MyTest1 ...
- Java IO系统--RandomAccessFile
RandomAccessFile 实现了DataOutput接口和DataInput接口.父类是Object,不继承任何的InputStream和OutStram. public class Rand ...