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. GTID复制的工作原理

    参考自:https://dev.mysql.com/doc/refman/5.7/en/replication-gtids-lifecycle.html 笔记说明: 本文翻译自官网,当然会根据语义做一 ...

  2. November 10th, Week 45th, Sunday, 2019

    Perfection has no place in love. 爱从不完美. Perfection has no place in love, and we should always try to ...

  3. PHP实现微信提现(企业付款到零钱)

    怎么开通企业付款到零钱? 有的商户号的产品中心是没有这个功能的,不过,该功能的pid(product id)是5,只要随便进去某一个产品,在地址栏把pid改为5. 即可进入该功能页面,进行开通,不过要 ...

  4. javascript基础修炼(12)——手把手教你造一个简易的require.js

    目录 一. 概述 二. require.js 2.1 基本用法 2.2 细说API设计 三. 造轮子 3.1 模块加载执行的步骤 3.2 代码框架 3.3 关键函数的代码实现 示例代码托管在我的代码仓 ...

  5. C# 同步转异步 TaskCompletionSource

    当我们遇到一些异步执行又无法等待时的逻辑,比如动画的执行. 而业务上又需要等待逻辑的完成,再去处理后续的操作.这时需要转成异步方法 如下,同步执行一个动画后,再输出日志: private async ...

  6. Mybatis+Spring框架整合

    1.整合思路 1.SqlSessionFactory对象应该放到spring容器中作为单例存在. 2.传统dao的开发方式中,应该从spring容器中获得sqlsession对象. 3.Mapper代 ...

  7. execjs使用时异常

    一.异常信息(...gbk.....) UnicodeDecodeError: 'gbk' codec can't decode byte 0xa1 in position 26: illegal m ...

  8. MySql Navicat可视化工具

    下载链接 链接:https://pan.baidu.com/s/1ca5KbpCFc4UbcYkXZDu6aA 提取码:8nku 安装比较简单,选完安装路径,下一步即可 Navicat for MyS ...

  9. 用XHR简单封装一个axios

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. es6 之class介绍

    class ECMAScript 2015 中引入的 JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖.类语法不会为JavaScript引入新的面向对象的继承模型. ...