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两个文件夹 ...
随机推荐
- webstorm 和 vscode 的纠结
自从知道了 vscode 之后,尝试了一下后,就开始纠结是否要更换到vscode. 特别是在 webstorm 卡的时候. 也研究了几日 vscode,安装了许多插件. 我是安装插件后, 就开始学习快 ...
- 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 ...
- Linux之字符串截取
获取字符串的长度 在 Shell 中获取字符串长度很简单,具体方法如下: ${#string_name} string_name 表示字符串名字. root@master:~# b="ma ...
- 【opencv C++ linux】linux下编译含opencv的C++代码
首先写一个简单的测试代码 #include <opencv2/opencv.hpp> #include <iostream> #include <string> u ...
- 如何提高工具开发和数据分析的效率?| jupyter | Rstudio server
这部分是超级干货,也能直接体现一个开发分析者的能力. 主要分为两部分: 1. 面对新问题时,如何高效的分析和开发? 2. 面对相似的问题时,如何最快时间的利用之前的开发经验? 因为现在我主要用shel ...
- 深入浅出ES6教程『async函数』
大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了Symbol & generator的用法,下面我们一起来继续学习async函数: async [ə'zɪŋk]:这个 ...
- 漫谈企业应用架构的演变 CRM & etc
漫谈企业应用架构的演变 goYangKunhttps://mp.weixin.qq.com/s?__biz=MzIzMTc3NTA2NQ==&mid=2247483698&idx=1& ...
- git如何将旧commit的相关notes复制到新commit?
答: git notes copy <old-commit> <new-commit>
- pip 安装指定版本
pip在安装包的时候可以不需要从网上下载,以windows的scipy为例 pip install scipy==0.15.1 以上表示安装0.15.1版本的scipy,这里用”==”接版本,如果权限 ...
- VMware 快速克隆出多个 Linux centos7 环境
这样一台系统就已经克隆好了,但是,现在还没有完,因为是克隆的,里面的ip地址和创建的主机名都是一样,需要进行修改 登录服务器,然后使用 [ifcfg-ens33需根据实际情况而定] vi /etc/s ...