搜索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的更多相关文章

  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. Educational Codeforces Round 67 (Rated for Div. 2)

    A 考虑之前选中没有一个的,那么结果就是\(min(n-s,n-t)\) 那么能选中的第一次就是这个结果\(+1\),但需要拥有两个 \((s>t)\)考虑一开始选不中\(t\),则但选中\(t ...

  2. Zk单机多实例部署

    一.环境准备 当前环境:centos7.3一台软件版本:zookeeper-3.5.2部署目录:/usr/local/zookeeper启动端口:2181,2182,2183配置文件:/usr/loc ...

  3. [RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音

    CPU:RK3399 系统:Android 音频IC:ES8316 功放IC:NS4150 以前也在 RK3399 上调试过 ES8316,功能都正常,新主板只是更换了功放IC,就出现无声音的问题(仔 ...

  4. Cannot find module 'laravel-elixir'问题解决方法

    在用gulp 安装elixir的时候报了这样的错误: Laravel elixir npm error Cannot find module 'laravel-elixir/ingredients/c ...

  5. SpringBoot配置加载顺序

    一般我们会将SpringBoot应用需要的配置内容放在项目工程中,然后通过spring.profiles.active或是通过Maven来实现多环境的支持.但是,当团队逐渐壮大,分工越来越细之后,往往 ...

  6. ISO/IEC 9899:2011 条款6.7——声明

    6.7 声明 语法 1.declaration: declaration-specifiers    init-declarator-listopt    ; static_assert-declar ...

  7. append()、appendChild() 和 innerHTML 的区别

    概念和区别:append() 可以同时传入多个节点或字符串,没有返回值: 据说 append 还是试用期的方法,有兼容问题,(但我用了暂时火狐,谷歌,iE都能使用). https://develope ...

  8. Oracle中复制表的方法(create as select、insert into select、select into)

    转: Oracle中复制表的方法(create as select.insert into select.select into) 2018-07-30 22:10:37 小白白白又白cdllp 阅读 ...

  9. System.InvalidOperationException:“No coercion operator is defined between types 'System.Int16' and 'System.Boolean'.”

    modelBuilder.Entity<MentItems>().Property(e=>e.IsValid) .HasColumnType("bit(1)") ...

  10. Python机器学习实践指南pdf (中文版带书签)、原书代码、数据集

    Python机器学习实践指南 目 录 第1章Python机器学习的生态系统 1 1.1 数据科学/机器学习的工作 流程 2 1.1.1 获取 2 1.1.2 检查和探索 2 1.1.3 清理和准备 3 ...