美文网首页
mongodb学习

mongodb学习

作者: 二毛_220d | 来源:发表于2019-02-12 14:25 被阅读8次

    1 安装

    1.1 debian

    a 导入公钥

    $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
    
    

    b 添加软件源
    Debian 8 ‘Jessis’

    $ echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
    
    

    Debian 9 ‘Stretch’

    $ echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
    
    

    c 更新本地软件数据库

    $ sudo apt-get update
    
    

    d 安装mongodb

    $ sudo apt-get install -y mongodb-org
    
    

    1.2 ubuntu

    1 导入公钥

    $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
    
    

    2 添加软件源
    Ubuntu 14.04

    $ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
    
    

    Ubuntu 16.04

    $ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
    
    

    Ubuntu 18.04

    $ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
    
    

    3 更新仓库

    sudo apt-get update
    
    

    4 安装mongodb

    $ sudo apt-get install -y mongodb-org
    
    

    1.3 如何查看版本信息

    $ lsb_release -a
    
    Distributor ID: Debian
    Description:    Debian GNU/Linux 9.5 (stretch)
    Release:        9.5
    Codename:       stretch
    
    

    2 启动与关闭

    启动

    $ sudo service mongod start
    
    

    检测是否启动成功

    $ cat /var/log/mongodb/mongod.log | grep --color 27017
    
    NETWORK  [initandlisten] waiting for connections on port 27017
    
    

    端口是在/etc/mongod.conf配置文件中的net.port

    关闭

    $ sudo service mongod stop
    
    

    重启

    $ sudo service mongod restart
    
    

    连接到mongodb

    mongo --host 127.0.0.1:27017
    
    

    3 卸载

    1 停止mongodb进程

    sudo service mongod stop
    
    

    2 删除mongodb包

    sudo apt-get purge mongodb-org*
    
    

    3 删除数据目录

    sudo rm -r /var/log/mongodb
    sudo rm -r /var/lib/mongodb
    
    

    4 概念对比

    <colgroup><col style="width: 0px;"><col style="width: 0px;"><col style="width: 0px;"></colgroup>
    |

    SQL术语/概念

    |

    MongoDB术语/概念

    |

    解释/说明

    |
    | --- | --- | --- |
    | database | database | 数据库 |
    | table | collection | 数据库表/集合 |
    | row | document | 数据记录行/文档 |
    | column | field | 数据字段/域 |
    | index | index | 索引 |
    | table joins |
    | 表连接,mongodb不支持 |
    | primary key | primary key | 主键,mongodb自动将_id字段设置为主键 |

    5 数据库操作

    1 新建或切换数据库

    > use DATABASE_NAME
    
    

    如果数据库不存在,则创建数据库,否则切换到指定数据库。
    2 查看所有的数据库

    > show dbs
    
    

    3 删除数据库

    > db.dropDatabase()  // 默认删除当前数据库
    
    

    6 集合操作

    1 新建collection

    > db.createCollection(name, options)
    
    

    2 查看已有集合

    > show collections
    
    

    3 删除集合

    > db.collection.drop()
    
    

    4 插入文档

    > db.collection.insert(document)
    > db.collection.insertOne({"a": 3}) #向指定集合中插入一条文档数据
    > db.collection.insertMany([{"b": 3}, {'c': 4}]) #向指定集合中插入多条文档数据
    

    5 查询

    > db.collection.find(query, projection)
    >db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() 
    #类似常规 SQL 语句为: 'where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')'
    

    6 更新文档

    > db.collection.update(<query>, <update>, {
        upsert: <boolean>,
        multi: <boolean>,
        writeConcern: <document>
    })
    
    

    7 删除文档

    > db.collection.remove(<query>, {
        justOne: <boolean>,
        writeConcern: <document>
    })
    
    remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。
    
    #删除 status 等于 A 的全部文档
    db. COLLECTION_NAME.deleteMany({ status : "A" })
    #删除 status 等于 D 的一个文档
    db. COLLECTION_NAME.deleteOne( { status: "D" } )
    
    

    8 limit()方法

    > db.collection.find().limit(NUMBER)
    
    

    9 skip()方法

    > db.collection.find().limit(NUMBER).skip(NUMBER)
    
    

    10 sort()方法

    >db.COLLECTION_NAME.find().sort({KEY:1})
    # sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
    

    11 条件操作符

    $gt -------- greater than  >
    
    $gte --------- gt equal  >=
    
    $lt -------- less than  <
    
    $lte --------- lt equal  <=
    
    $ne ----------- not equal  !=
    
    $eq  --------  equal  =
    
    

    7 可视化管理软件

    相关文章

      网友评论

          本文标题:mongodb学习

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