MongoDB创建集合和删除集合05-14学习笔记
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
概念上来讲:
MongoDB的集合类似sqlserver的表
MongoDB的文档类似sqlserver的表数据
1、MongoDB 创建集合
MongoDB 创建集合的语法:
db.createCollection(name, {size: ..., capped: ..., max: ...,autoIndexId: ...})
参数说明:
name:要创建集合的名称
size(数值):(可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
capped(布尔):(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId(布尔):(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
max(数值):(可选)指定固定集合中包含文档的最大数量。
在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。
创建集合实例1:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> use tsemongo switched to db tsemongo _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.createCollection("tsecollection") { "ok": 1 }
查看已有集合,可以使用show collections或者show tables这两个命令:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show collections tsecollection → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB
创建固定集合tsegoods,整个集合空间大小 1073741824KB=1GB,最大个数为 10000 个:
#不推荐使用autoIndexId选项,将来的版本中将删除该选项
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.createCollection("tsegoods",{capped:true,autoIndexId:true,size:1073741824,max:10000}) { "note": "the autoIndexId option is deprecated and will be removed in a future release", "ok": 1 }
在MongoDB中,你不需要创建集合。当你插入一些文档时,MongoDB 也会自动创建集合:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegoods → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.tsegload.insert({"name":"Tse先生"}) Inserted 1 record(s) in 311ms WriteResult({ "nInserted": 1 }) _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegload → 0.000MB / 0.004MB tsegoods → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB
2、MongoDB 删除集合
MongoDB 中删除集合语法:
db.collection.drop()
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
删除集合实例1:
在tsemongo库中删除tsegoods集合,先show tables查询一下tsemongo库中的所有集合,或者show collections查询:
_mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegload → 0.000MB / 0.004MB tsegoods → 0.000MB / 0.004MB tsemongo → 0.000MB / 0.016MB _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> db.tsegoods.drop() true _mongodb_116:3717(mongod-3.6.8-2.0) tsemongo> show tables tsecollection → 0.000MB / 0.004MB tsegload → 0.000MB / 0.016MB tsemongo → 0.000MB / 0.016MB