美文网首页
Docker系列:05-安装使用MongoDB

Docker系列:05-安装使用MongoDB

作者: 辛夷z | 来源:发表于2019-01-04 15:57 被阅读7次

    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

          本文链接:https://www.haomeiwen.com/subject/cnnhrqtx.html