MongoDB常用的操作

前面两篇已经介绍了MongoDB系统架构及其BSON数据类型。本文将讲解基本的MongoDB操作。

一、MongoDB启动命令

  • 启动MongoDB
    systemctl start mongod
  • 查看是否启动成功
    systemctl status mongod
  • 重启MongoDB
    systemctl restart mongod
  • 关闭MongoDB
    systemctl stop mongod

二、使用init命令操作MongoDB

  • 启动MongoDB
    service mongod start
  • 查看是否启动成功
    service mongod status
  • 重启MongoDB
    service mongod restart
  • 关闭MongoDB
    service mongod stop

三、启动mongodb客户端

  • 查看该服务是否启动
    ps -def | grep mongod
  • 查看服务器是否正确
    cd /data/db/journal/cat mongodb.log
  • 看服务器是否启动正常
    http://127.0.0.1:28017
  • 看看是否能够登录
    进入/usr/mongodb/bin,执行./mongo

四、mongodb数据库操作

  • 创建数据库
    use DATABASE_NAME

    如果数据库不存在,则创建数据库,否则切换到指定数据库

    新创建的数据库,用db命令查看时,如果在数据库没有Collection,db会查看不到此数据库。如果你需要用use直接创建成功数据库,需要你插入一个数据。

  • 查询数据库
    • 查询当前所在的数据库

      db
    • 查看所有数据库

      show dbs /show databases
  • 删除数据库
db.dropDatabase()

删除数据库命令,是删除当前use的数据库。

五、mongodb操作数据集合(Collection)

  • 创建集合
    • db.createCollection创建集合

      语法:

      db.createCollection(collectionName,option)

      其中,name是集合的名称,option是集合的配置选项。option参数是可选的,可以使用以下参数:

      字段类型描述
      cappedBoolean如果为true,则启用封闭的集合,上限是固定大小的集合,在到达最大大小时自动覆盖最旧的条目。如果指定为true。则还需指定size参数
      autoIndexIdBoolean如果为true,则在_id列自动创建索引
      size数字指定上限集合的最大尺寸(以字节为单位),与capped配合使用
      max数字指定上限集合中允许的最大文档数

      备注:在插入文档时,先检查上限集合capped字段size大小,然后再检查max字段。

      示例:

      #创建一般集合use mongo_db_dev;db.createCollection('mes_db');show collections;#创建固定长度集合use mongo_db_dev;db.createCollection("mycoll2",{capped:true,autoIndexId:true,size:104857600,max:100})show collections;
    • db..insert()创建集合

      语法:

      db.集合.insert()

      示例:

      #通过插入数据直接创建集合use mongo_db_dev;db.insertDbCollection.insert({cnname:'goyeer',enname:'alon',age:36});show collections;
  • 判断是否是定长集合

    语法:

    db.集合.isCapped();

    示例:

    #isCapped判断是否定长集合db.insertDbCollection.isCapped();
  • 查看集合
    # 查看所有集合show collections;#集合重命名db.insertDbCollection.renameCollection("myColl")
  • 清空集合

    语法:

    db.集合.deleteMany({})

    示例:

    #查看集合use mongo_db_dev;db.insertDbCollection.deleteMany({});
  • 删除集合

    语法:

    db.集合.drop();

    示例:

    #删除集合use mongo_db_dev;db.insertDbCollection.drop()