运行MongoDB

以下内容是关于运行、配置、启动、登录和验证MongoDB数据库的详细步骤。

  1. 查看MongoDB版本。

    1
    2
    3
    cd ~
    find / -name mongod
    /usr/local/mongo/bin/mongod --version
    

  2. 修改MongoDB的配置文件。

    1. 删除并新建“/etc/mongodb.cnf”文件。
      1
      2
      rm -f /etc/mongodb.cnf
      vim /etc/mongodb.cnf
      
    2. “i”进入编辑模式,添加如下内容:
      1
      2
      3
      4
      5
      6
      7
      dbpath=/data/mongo
      logpath=/data/mongo/mongo.log
      logappend=true
      port=27017
      fork=true
      auth=false
      bind_ip=0.0.0.0
      

      配置文件参数说明:

      • dbpath代表数据文件存放目录。
      • logpath代表日志文件存放目录。
      • logappend=true代表日志以追加的形式添加。
      • port代表端口号。
      • fork=true代表以守护程序的方式启用,即在后台运行。
      • auth=false代表连接数据库不需要验证用户名和密码。
      • bind_ip代表可以访问的地址。127.0.0.1表示自己访问,0.0.0.0 表示所有人都能访问。
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  3. 启动MongoDB数据库。

    1. 使用配置文件启动MongoDB数据库。
      1
      nohup /usr/local/mongo/bin/mongod -f /etc/mongodb.cnf &
      

    2. 确认MongoDB数据库进程是否正常启动。
      1
      ps -ef | grep mongod
      

      可以看到数据库进程ID为36249且已正常启动。

    3. 查看MongoDB数据库的监测端口。
      1
      netstat -anpt
      

      在本例中MongoDB数据库的监测端口为27017。

  4. 登录MongoDB数据库并验证数据库是否可以正常运行。

    1. 本地登录MongoDB数据库。
      1
      2
      cd /usr/local/mongo/bin
      ./mongo
      

      查看登录参数。

      1
      2
      /usr/local/mongo/bin/mongo --h
      /usr/local/mongo/bin/mongo --help
      
    2. 查看当前存在的数据库。
      1
      show dbs
      

    3. 创建数据库。
      1
      2
      use mongotest-database
      show dbs
      

      • 使用use DATABASE_NAME创建数据库,如果数据库不存在,则创建数据库,否则切换到指定数据库。
      • 可以看到刚才创建的数据库mongotest-database并不在数据库的列表中,要显示新增的数据库,需要向mongotest-database数据库插入一些数据。
    4. 创建集合。
      1
      2
      3
      use mongotest-database
      show collections
      db.createCollection("mongo_test")
      

      如果要查看已有集合,可以使用show collections或show tables命令。

      1
      2
      show collections
      show tables
      

    5. 插入文档。
      1
      2
      3
      4
      5
      6
      7
      db.mongo_test.insert({title: 'MongoDB 教程',
      ... description: 'MongoDB 是一个 Nosql 数据库',
      ... by: '菜鸟教程',
      ... url: 'http://www.runoob.com',
      ... tags: ['mongodb', 'database', 'NoSQL'],
      ... likes: 100
      ... })
      

      以上实例中mongo_test是集合名,如果该集合不在数据库中,MongoDB会自动创建集合并插入文档。

      查看已插入文档:

      1
      db.mongo_test.find()
      

    6. 更新文档。

      通过update()方法来更新文档标题(title)。

      1
      2
      db.mongo_test.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
      db.mongo_test.find()
      

    7. 删除title为“MongoDB”的文档。
      1
      2
      db.mongo_test.remove({'title':'MongoDB'})
      db.mongo_test.find()
      

    8. 查看并创建索引。
      1
      2
      3
      db.mongo_test.getIndexes()
      db.mongo_test.createIndex({"title_test":1})
      db.mongo_test.getIndexes()
      

    9. 删除4.h新增的索引“title_test_1”。
      1
      db.mongo_test.dropIndex("title_test_1")
      

    10. 删除集合。
      1
      2
      3
      use mongotest-database
      show collections
      db.mongo_test.drop()
      

    11. 删除数据库。
      1
      2
      3
      use mongotest-database
      show dbs
      db.dropDatabase()
      

  5. 退出数据库。

    1
    exit