MongoDB安装与基本使用

一、安装

① 把Mongo的安装配置添加的yum中

vi /etc/yum.repos.d/mongodb-org-3.4.repo

把下面配置复制到文件中

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

② 运行安装命令

sudo yum install -y mongodb-org

出现下图则成功安装

③ 设置数据储存路径默认下mongo的储存路径是 /data/db ,如果此时系统中没有这个文件,是不会启动成功的。所以要手动穿件这个文件夹

mkdir -p /data/db

④ 启动Mongo

sudo service mongod start

⑤ 连接本地的Mongo

mongo

此时Mongo的安装已经完成,上面日志中有警告啥的可以通过配置解决,但不影响使用。

二、Mongo的远程连接

方法1: 设置权限认证登陆

  • 添加新的用户首先添加个管理员账号(root权限):

    use admin

  • 创建管理员账户

    db.createUser({ user: "spark", pwd: "spark", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。

  • 验证用户添加是否成功

    db.auth("spark", "spark")

  • 修改配置文件

    vi /etc/mongod.conf

注释掉:bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
添加:

security:
    authorization: enabled
  • ③ 重启Mongo 远程连接

    service mongod restart

方法2: 直接登陆

  • ① 修改配置文件

    vi /etc/mongod.conf

bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

将127.0.0.1修改为0.0.0.0

打开ROBO(mongo 可视化工具):
最后点击Save就可以愉快的使用啦

如果想设置开机自启动请运行

chkconfig mongodb on

三、Mongodb基本命令

首先连接mongodb数据库

mongo

database级操作

  • 查看服务器上的数据库

    show dbs

    admin   0.000GB
    blog    0.000GB
    config  0.000GB
    local   0.000GB
    
  • 切换数据库

    use test

  • 查看当前数据库中的所有集合

    show collections

  • 创建数据库

    use test2

  • (如果数据库不存在,则自动生成,不过必须等插入数据之后show dbs才会显示改数据库)*

    db.hello.insert({"name":"testdb"})

    这时再执行show dbs就能显示了

  • 显示数据库中的所有集合

    show collections

    hello  
    system.indexes
    
  • 删除数据库

    db.dropDatabase()

  • 查看当前数据库

    db

collection级操作

  • 新建collection

    db.createCollection("Hello")

    { "ok" : 1 }  
    

    show collections

    Hello  
    system.indexes  
    

    从上面2.4也可以看出,直接向一个不存在的collection中插入数据也能创建一个collection。

    db.hello2.insert({"name":"lfqy"})
    show collections

    Hello  
    hello2  
    system.indexes  
    
  • 删除collection

    db.Hello.drop()

    true  
    

    返回true说明删除成功,false说明没有删除成功。

    db.hello.drop()

    false  
    

    不存在名为hello的collection,因此,删除失败。

  • 重命名collection
    将hello2集合重命名为HELLO

    show collections

    hello2  
    system.indexes  
    

    db.hello2.renameCollection("HELLO")

    { "ok" : 1 }
    

    show collections

    HELLO  
    system.indexes  
    
  • 查看当前数据库中的所有collection

    show collections

  • 建立索引在HELLO集合上,建立对ID字段的索引,1代表升序。

    db.HELLO.ensureIndex({ID:1})

collection操作

详见Mongo shell指南(CRUD)

有错误的地方欢迎指出.谢谢🙏