命令操作
库操作
创建库
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();