Docker操作mongodb

准备工作:安装好docker

  1. 拉取docker镜像
docker pull mongo
  1. 运行mongo镜像
docker run --name mongo-test -d mongo:label

说明:mongo-test是我们自定义的镜像名称,请记住。label是对应的镜像版本,默认为latest。然后,mongoDB在容器内会默认启动27017端口。

  1. 以管理员身份进入mongoDB终端命令行
docker exec -it mongo-test mongo admin

如图所示:
在这里插入图片描述

  1. mongoDB基础命令行操作
show dbs   								//查看所有数据库
use db_Name 							//新建数据库,名字是db_Name,如果不使用(即不进行任何操作),则不会创建该数据库
db										//查看当前所在数据库
db.createCollection("test_table")		//新建表,表名为test_table
show collections						//查看当前数据库所有表
db.test_table.drop()					//删除表test_table
db.dropDatabase()						//删除当前数据库

如下图所示:
在这里插入图片描述

  1. 根据查询某条记录
db.collection.find({"key1":"value1", "key2":"vaule2"})

//查询不为空的字段
db.collection.find({"key":{"$ne":null, $exists:true}})

//查询数量 在查询条件后面加上count()即可 例如:
db.collection.find({"key":{"$ne":null, $exists:true}}).count()

说明:collection 是具体集合的名字,db find 是固定写法。该方式查出来的是没有格式化的,看起来费眼睛,在最后面加上 pretty() 即可格式化json结果,很直观护眼睛,如下:
在这里插入图片描述

  1. 更新某条记录
db.collection.update({"key":"value"}, {$set:{"oldKey":"newValue"}})

说明:第一个大括号{} 里面的内容是用于查找需要更新的记录,相当于sql里面的where后面的条件,第二个大括号里面的$set 是固定写法,第三个大括号里面则是需要更新的数据,如果有多个需要更新的字段,可用逗号分隔开。
在这里插入图片描述
假如oldKey 不存在,则会新插入一个字段进去,如下:
在这里插入图片描述

  1. 删除集合中某条数据
db.collection.remove({"key":"value"})

说明:{} 填写需要删除的某条数据的判定条件,类似于sql语句where字段后面跟的条件

待更新…

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐