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

MongoDB创建集合和删除集合05-14学习笔记的更多相关文章

  1. MongoDB 教程(六):创建集合、删除集合

    MongoDB 创建集合 MongoDB 中使用 createCollection() 方法来创建集合. 语法格式: db.createCollection(name, options) 参数说明: ...

  2. MongoDB创建集合、删除集合

    创建集合 createCollection() 方法 在 MongoDB 中,创建集合采用 db.createCollection(name, options) 方法. 语法格式 createColl ...

  3. Mongodb(2)创建数据库,删除数据库,创建集合,删除集合,显示文档内容

    显示所有数据库列表:show dbs > show dbs local .078GB runoob .078GB > 显示当前数据库:db > db runoob > 显示所有 ...

  4. MongoDB创建数据库和删除数据库05-14学习笔记

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  5. mongoDB 创建数据库、删除数据库

    创建数据库 use 命令 MongoDB 用 use + 数据库名称 的方式来创建数据库.use 会创建一个新的数据库,如果该数据库存在,则返回这个数据库. 语法格式 use 语句的基本格式如下: u ...

  6. 05 python学习笔记-常用内置函数(五)

    1.sorted() 函数对所有可迭代的对象进行排序(默认升序)操作 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. l ...

  7. 创建第一个core项目(netCore学习笔记1)

    1.安装 core和netFramework其实是相对独立的,但是core的IDE是在vs2017才开始支持,而vs2017的安装环境必须搭配.net4.6,所以: Step1:安装.net4.6 S ...

  8. 05.swoole学习笔记--定时器

    <?php //循环执行的定时器 swoole_timer_tick(,function($timer_id){ echo "执行 $timer_id \n"; }); sw ...

  9. MongoDB学习笔记——集合管理

    创建集合 使用db.createCollection(name, options) 方法创建集合 name 所创建的集合名称必选! options 可选.指定有关内存大小及索引的选项 db.creat ...

随机推荐

  1. mysql从5.6升级到5.7后出现 Expression #1 of ORDER BY clause is not in SELECT list,this is incompatible with DISTINCT

    [问题]mysql从5.6升级到5.7后出现:插入数据和修改数据时出错Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: - ...

  2. TCP/IP网络协议初识

    目录 一.什么是协议? 二.什么是TCP/IP协议? 三.TCP/IP为什么这么多协议? 四.TCP/IP协议为什么分层? 五.TCP/IP协议如何入门? 六.TCP/IP 的分层: 七.各协议层打包 ...

  3. Centos7_sl命令跑火车

    一.更新yum源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 二.安装sl命令 yum ...

  4. java之等待唤醒机制(线程之间的通信)

    线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同.比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消 ...

  5. 使用Castle DynamicProxy (AOP)

    在本文中,我将引导您了解.NET环境中的面向方面编程(AOP)概念,以及如何使用Castle DynamicProxy创建和附加方面.在我们开始之前,让我快速介绍AOP和  IoC.如果您已经熟悉这些 ...

  6. react+ant-mobile+lib-flexible构建移动端项目适应设计图尺寸(750)

    使用lib-flexible在react中先安装 npm install lib-flexible --save 因为插件使用的是rem适配,所以安装两个插件 npm install postcss- ...

  7. jQuery 源码解析(二十七) 样式操作模块 坐标详解

    样式操作模块可用于管理DOM元素的样式.坐标和尺寸,本节讲解一下坐标这一块. 对于坐标来说,jQuery提供了一个offset方法用于获取第一个匹配元素的坐标或者设置所有匹配元素的坐标,还有offse ...

  8. go语言之数据类型和格式化输出

    1.数据类型 package main import ( "fmt" "reflect" ) func main() { //整形 var v1 int32 v ...

  9. 连接SpringBootAdmin 异常 Name or service not known

    环境: 服务器:Linux 客户端:Windows 当客户端连接到SpringBootAdmin的时候,报了如下异常 明明显示可以连接了,但是就是报了客户端INSTANCE DOWN   (down机 ...

  10. Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(三)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第102篇原创 03:WebFlux Web CR ...