搜索mongo

  1. docker search mongo

拉取mongo【这里默认为latest】

  1. docker pull mongo

查看本地镜像

启动容器【就是安装,-v后面的参数表示把数据文件挂载到宿主机的路径,-p把mongo端口映射到宿主机的指定端口,--auth表示连接mongodb需要授权】

  1. docker run -p : -v /tmp/db:/data/db -d mongo

查看运行中的容器

  1. docker ps

进入mongo【以 admin 用户身份进入mongo,相当于oracle的用户也就是库,mysql的库】

  1. docker exec -it 4abc1e6e12bd mongo admin

创建一个 admin 管理员账号

  1. db.createUser({ user: 'admin', pwd: '密码', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

对 admin 进行身份认证

  1. db.auth("admin","密码");

用工具连接mongo【Robo】

https://robomongo.org/download

查看数据库

  1. show databases

  1. db.getMongo().getDBs()

查看当前数据库

  1. db

mongo与mysql对应:库概念一样,mongo的集合对应mysql的表,mongo的文档对应mysql的行数据

创建

插入多条数据insert()

只能插入一条数据insertOne()

插入多条数据insertMany()

  1. // teachers就是集合,{name: "smallstudy"}这些就是文档
  2. db.teachers.insert([
  3. {name: "smallstudy"},
  4. {name: "zhangsan"},
  5. {name: "lisi"}
  6. ])
  7. // 等价于
  8. db.teachers.insertMany([
  9. {name: "smallstudy"},
  10. {name: "zhangsan"},
  11. {name: "lisi"}
  12. ])

一对多

  1. db.teachers.insertMany([
  2. {name: "smallstudy"},
  3. {name: "zhangsan"},
  4. {name: "lisi"}
  5. ])
  6. //创建后拿到teachers的id
  7. db.students.insert([
  8. {name: "laodage", teacher_id: ObjectId("5c7102f7eda36e7892b9defb")},
  9. {name: "xiaolaodi", teacher_id: ObjectId("5c7102f7eda36e7892b9defb")},
  10. {name: "enen", teacher_id: ObjectId("5c7102f7eda36e7892b9defc")}
  11. ])
  12. // 查询
  13. var teacher_id = db.teachers.findOne({"_id": ObjectId("5c7102f7eda36e7892b9defb")})._id;
  14. db.students.find({teacher_id: teacher_id});
  15. // 或
  16. db.students.find({teacher_id: db.teachers.findOne({"_id": ObjectId("5d25861568a280ba089f91d1")})._id});

查询

find()

findOne()

  1. // 查集合下所有文档
  2. db.teachers.find()
  3. // 查集合下某个文档
  4. db.teachers.find()[]
  5. db.teachers.find({"name": "zhangsan"})
  6. // 查看集合长度,也就是看集合有多少文档
  7. db.teachers.find().count()
  8. db.teachers.find().length()
  9. // 只显示2条数据
  10. db.teachers.find().limit()
  11. // 跳过第1条数据显示2条数据,用于分页
  12. db.teachers.find().skip().limit()

修改

update()

updateOne()

updateMany()

replaceOne()

  1. db.teachers.update({"name": "lisi"}, {$set:{"name": "lisi2", "age": }})
  2. // 这里的修改时先删除后添加的

删除

remove()

deleteOne()

deleteMany()

drop()

  1. // 直接删集合
  2. db.teachers.remove()
  3. db.collectionName.drop()
  4. // 删文档
  5. db.teachers.remove({"name": "lisi2"})

docker安装MongoDB创建用户,并用工具Robo连接简单CRUD的更多相关文章

  1. MongoDB学习笔记二:使用Docker安装MongoDB

    目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...

  2. Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx

    Docker安装MongoDB.MySQL.Jenkins.Gitlab.Nginx 安装MongoDB 1. 拉取镜像 $ sudo docker pull mongo 2. 运行镜像 $ sudo ...

  3. Linux平台安装MongoDB及使用Docker安装MongoDB

    一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...

  4. Docker01 centos系统安装、centos安装docker、docker安装mongoDB

    1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...

  5. rabbitMQ的安装和创建用户

    rabbitMQ的安装和创建用户 在计算机科学中,消息队列(英语:Message queue)是 一种 进程间通信或同一进程的不同 线程 间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户. ...

  6. Docker 安装 mongoDB(五)

    Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...

  7. docker 安装MongoDB以及设置用户

    MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序. 1.查看可用的 MongoDB 版本 访问 MongoDB 镜像库地址: https://hub.docker.com/_/ ...

  8. mongodb 安装到创建用户,认证auth,httpinterface

    今天花了一天时间来解开这个mongodb的谜团,如果有遇到了其他的问题,可以咨询我. #开始 2.6.10安装方式 不同版本后面设置用户权限方式有所差异#下载这个版本的mongodb mongodb- ...

  9. MongoDb在windows10下的安装、创建用户和数据库

    1.mongodb下载地址https://www.mongodb.com/download-center#community 2.安装    3.在D:\MongoDB目录下创建db和log两个文件夹 ...

随机推荐

  1. spark,hadoop集群安装注意

    安装步骤严格参看厦门大学数据实验室教程 Spark 2.0分布式集群环境搭建(Python版) 安装Hadoop并搭建好Hadoop集群环境 遇到的问题 1.ubuntu 安装后升级.python是3 ...

  2. leaflet常用插件库

    1.常用地图切换加载(osm.google.baidu.gaode.tianditu.etc)https://github.com/htoooth/Leaflet.ChineseTmsProvider ...

  3. spaceclaim脚本(线生成面体)

    #新建一个列表,用来保存修剪曲线(PS:修建曲线的意思是开始点和结束点不在一起,圆就不属于修建曲线) #注意和Line,Circle类型等的区别 curves = List[ITrimmedCurve ...

  4. JS中注入eval, Function等系统函数截获动态代码

    正文 现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和 ...

  5. 第10组 Alpha冲刺(3/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 对推送模块进行详细划分 基于用户的协同过滤,寻找更感兴趣的话题 学习API文档 ...

  6. postgresql 增量备份

    介绍: barman是postgresql备份还原的管理工具. 本文环境: 系统: centos6.6 PostgreSQL 9.3.9 barman-1.4.1-1.rhel6.noarch.rpm ...

  7. U盘量产过程PS2251-07(PS2307) - F/W 01.05.10 [2014-05-23]

    说明本篇文章可能无法解决你的问题,请谨慎尝试.本博客中使用的工具提供下载(如果没有积分,可联系作者免费获取)ChipGenius_v4_00_0030UPTool_v2.089起因 U盘原先正常使用, ...

  8. PathVariable传过来的中文乱码是怎么回事

    今天在写一个spring mvc程序,由于客户原来设计的原因,不能传id过来,只能传名称,结果发现收到的数据是乱码. 百度之后,找到别人的解决方案,试了下没问题,转载一下.使用的web服务器是Tomc ...

  9. JVM 字节码的结构

    编译的.class文件,可以用javap进行反编译 javap Test.class javap -c Test.class javap -verbose Test.class 1.创建MyTest1 ...

  10. Java IO系统--RandomAccessFile

    RandomAccessFile 实现了DataOutput接口和DataInput接口.父类是Object,不继承任何的InputStream和OutStram. public class Rand ...