NoSQL(非关系型数据库)——MongoDB的(CURD)基本操做

命令操做


库操做

  • 建立库
    use 新库名
    若是数据库不存在,则建立数据库,不然切换到指定数据库。css

  • 显示库mongodb

    • 显示当前库
      db
    • 显示全部库
      show dbs
  • 删除库
    db.dropDatabase();数据库

表(集合)操做

MongoDB表称之为集合Collectionapp

  • 建立表
    db.createCollection(表名, options);spa

    • options: 可选参数, 指定有关内存大小及索引的选项

    options 能够是以下参数:code

    字段 类型 描述
    capped 布尔 (可选)若是为 true,则建立固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最先的文档。当该值为 true 时,必须指定 size 参数。
    autoIndexId 布尔 (可选)如为 true,自动在 _id 字段建立索引。默认为 false。
    size 数值 (可选)为固定集合指定一个最大值(以字节计)。若是 capped 为 true,也须要指定该字段。
    max 数值 (可选)指定固定集合中包含文档的最大数量。

具体实例:
建立固定集合user,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个server

db.createCollection("user",{ capped: true, autoIndexId: true, size: 6142800, max : 10000 } )
  • 修改表
    db.旧表名.renameCollection('新表名');
  • 查看表
    show collections|tables;
  • 删除表
    db.表名.drop();

数据(文档)的操做

全部的存储在集合中的数据都是BSON格式对象

  • 数据的增长
    • db.表名.insert(document);
    • db.表名.save(document);

document表示都是对象格式{对象名:对象值,对象名:对象值,对象名:对象值} 对象里面能够任何数据类型索引

具体实例:内存

db.user.insert({ name:'张三',sex:'男',age:30,city:['中国','江苏','常州'],score:{chinese:80,math:90,english:95}});
 db.user.save({ name:'李四',sex:'女',age:20,city:['中国','江苏','无锡'],score:{chinese:90,math:70,english:85}});
  • 数据的修改
    db.表名.update({修改的条件},{$set:{修改的内容}},可选{upsert: <boolean>,multi: <boolean>,writeConcern: <document>})

    参数说明

    参数 含义
    upsert 可选,若是不存在update的记录,是否插入objNew,true为插入,默认是false,不插入
    multi 可选,mongodb 默认是false,只更新第一条记录,若是参数为true,就把按条件查出来多条记录所有更新
    writeConcern 可选,抛出异常的级别。

具体实例:

db.user.update({ name:'张三'},{ $set:{sex:'保密'}});
  • 数据的删除
    *删除全部知足条件的
    db.表名.remove({删除的条件});

    • 删除一条重复数据
      db.表名.remove({删除的条件},{justOne:true|1})
  • 数据的查看
    非结构化的方式

    • db.表名.find();
      易读的方式(格式显示)
    • db.col.find().pretty();
  • 显示中不想显示自动的id值,能够在find({},{_id:false})
  • 查询某一条find({name:’张三’},{_id:false})

具体实例:

db.user.find({ },{ _id:false});
db.user.find({ },{ _id:false}).pretty();