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

版权声明:郭振银学习记录 https://blog.csdn.net/karelcn/article/details/80815996

命令操作


库操作

  • 创建库
    use 新库名
    如果数据库不存在,则创建数据库,否则切换到指定数据库。

  • 显示库

    • 显示当前库
      db
    • 显示所有库
      show dbs
  • 删除库
    db.dropDatabase();

表(集合)操作

MongoDB表称之为集合Collection

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

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

    options 可以是如下参数:

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

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

 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();

猜你喜欢

转载自blog.csdn.net/karelcn/article/details/80815996