搜索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. webstorm 和 vscode 的纠结

    自从知道了 vscode 之后,尝试了一下后,就开始纠结是否要更换到vscode. 特别是在 webstorm 卡的时候. 也研究了几日 vscode,安装了许多插件. 我是安装插件后, 就开始学习快 ...

  2. Resolving EACCES permissions errors when installing packages globally(npm 遇到 write access的问题)

    If you see an EACCES error when you try to install a package globally, you can either: Reinstall npm ...

  3. Linux之字符串截取

    获取字符串的长度 在 Shell 中获取字符串长度很简单,具体方法如下: ${#string_name} string_name 表示字符串名字. root@master:~# b="ma ...

  4. 【opencv C++ linux】linux下编译含opencv的C++代码

    首先写一个简单的测试代码 #include <opencv2/opencv.hpp> #include <iostream> #include <string> u ...

  5. 如何提高工具开发和数据分析的效率?| jupyter | Rstudio server

    这部分是超级干货,也能直接体现一个开发分析者的能力. 主要分为两部分: 1. 面对新问题时,如何高效的分析和开发? 2. 面对相似的问题时,如何最快时间的利用之前的开发经验? 因为现在我主要用shel ...

  6. 深入浅出ES6教程『async函数』

    大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了Symbol & generator的用法,下面我们一起来继续学习async函数: async [ə'zɪŋk]:这个 ...

  7. 漫谈企业应用架构的演变 CRM & etc

    漫谈企业应用架构的演变 goYangKunhttps://mp.weixin.qq.com/s?__biz=MzIzMTc3NTA2NQ==&mid=2247483698&idx=1& ...

  8. git如何将旧commit的相关notes复制到新commit?

    答: git notes copy <old-commit> <new-commit>

  9. pip 安装指定版本

    pip在安装包的时候可以不需要从网上下载,以windows的scipy为例 pip install scipy==0.15.1 以上表示安装0.15.1版本的scipy,这里用”==”接版本,如果权限 ...

  10. VMware 快速克隆出多个 Linux centos7 环境

    这样一台系统就已经克隆好了,但是,现在还没有完,因为是克隆的,里面的ip地址和创建的主机名都是一样,需要进行修改 登录服务器,然后使用 [ifcfg-ens33需根据实际情况而定] vi /etc/s ...