Docker系列:05-安装使用MongoDB

1.使用pull安装

docker search mongo
docker pull mongo
docker images mongo
image.png

2.使用mongodb镜像

docker run -p 27018:27017 -v $PWD/db:/data/db -d mongo:dev
docker ps
image.png

参数说明:

-p 27018:27017 :将容器的27018 端口映射到主机的27017 端口

-v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录

3.连接到mongodb

docker run -it mongo:dev mongo --host xxx.xxx.xxx.xxx
image.png

4.mongodb的常用命令

show dbs
#查看数据库列表
db
#查看当前数据库对象
use local
#连接指定数据库
image.png

需要注意的是:有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

#创建数据库并插入数据
use runabc
db
db.runabc.insert({"tag":"abc"})
show dbs
image.png

需要注意的是,集合只有在插入内容后才会被创建

#删除数据库
use t1
switched to db t1
image.png
#创建集合
db.createCollection("r1")
db.r2.insert({"name":"meimei"})
show collections
image.png
#删除集合
show collections
db.runabc.drop()
image.png
#查看已插入的文档
db.r2.find()
image.png

另外,还可以使用变量的方式插入

user=({name:'xiaoming',age:15});
db.user.insert(user)
db.user.save(user)
db.user.find()
image.png

需要注意的是:如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

#更新文档
db.user.update({'name':'xiaoming'},{$set:{'name':'小明'}})
db.user.find()
image.png
#删除文档
db.user.remove({'name':'daxiong'})
 db.user.find()
image.png

如果要删除全部的,则

db.user.remove({})

查看文档时,格式化可使用

db.user.find().pretty()

你可能感兴趣的:(Docker系列:05-安装使用MongoDB)