创建集合

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

db.createCollection("mycollection")

--或

db.mycollection.insert( {

user_id: "abc123",

age: 55,

status: "A"

} )

使用db.COLLECTION_NAME.drop()方法删除集合

db.mycollection.drop()

使用db.COLLECTION_NAME.update() 方法可以修改集合结构

--添加字段

db.mycollection.update(

{ },

{ $set: { join_date: new Date() } },

{ multi: true }

)

--删除字段

db.mycollection.update(

{ },

{ $unset: { join_date: "" } },

{ multi: true }

)

使用show collections检查当前数据库集合列表

show collections

下表列出了options参数所有可用选项

字段

类型

描述

capped

布尔

(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。
当该值为 true 时,必须指定 size 参数。

autoIndexID

布尔

(可选)如为 true,自动在 _id 字段创建索引。默认为 false。

size

数值

(可选)为固定集合指定一个最大值(以字节计)。
如果 capped 为 true,也需要指定该字段。

max

数值

(可选)指定固定集合中包含文档的最大数量。

在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。

固定集合

固定集合是固定大小的集合支持基于文档插入顺序的高吞吐率的插入、检索、删除操作。限制收集工作在某种程度上类似于循环缓冲区:一旦一个文档填满分配给它的空间,他将通过在限制集中重写老文档来给新文档让出空间。
固定集合能够保留插入顺序。因此,查询并不需要索引来保证以插入顺序来返回文档。减少了索引的消耗,
固定集合可以支持更高的插入吞吐。
为了为新文档腾出空间,在不需要脚本或显式删除操作的前提下,固定集合自动删除集合中最旧的文档。
固定集合有一个 _id 字段并且默认在 _id 字段上创建索引。
注意事项:
如果一个更新或替换操作改变了文档大小,操作将会失败
不能从固定集合中进行删除文档,可以使用drop() 方法来删除集合然后重新创建限制集。
固定集合不支持分片

db.createCollection( "mycache", { capped: true, size: 100000 } )

检查是否为固定集合

db.mycollection.isCapped()

使用命令convertToCapped 转换一个非限制集成为一个限制集

db.runCommand({"convertToCapped": "mycollection", size: 100000})

关系型数据库与MongoDB数据库在一些术语上的对比

关系型数据库(mysql)

MongoDB

备注

CREATE TABLE users ( id MEDIUMINT NOT NULL AUTO_INCREMENT, user_id Varchar(30), age int, status char(1), PRIMARY KEY (id) )

db.users.insert( { user_id: "abc123", age: 55, status: "A" } ) 或 db.createCollection("users") 如果文档中不指定``_id``列,那么会自动添加``_id``列并默认为主键

创建集合

ALTER TABLE users ADD join_date DATETIME

db.users.update( { }, { $set: { join_date: new Date() } }, { multi: true } )

追加字段

ALTER TABLE users DROP COLUMN join_date

db.users.update( { }, { $unset: { join_date: "" } }, { multi: true } )

删除字段

DROP TABLE users

db.users.drop()

删除集合

show tables

show collections

查询当前数据库中所有集合

MongoDB学习笔记——集合管理的更多相关文章

  1. MongoDB学习笔记—权限管理

    1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b ...

  2. MongoDB学习笔记——索引管理

    索引 索引能够提升查询的效率.没有索引,MongoDB必须扫描集合中的所有文档,才能找到匹配查询语句的文档. 索引是一种特殊的数据结构,将一小块数据集保存为容易遍历的形式.索引能够存储某种特殊字段或字 ...

  3. MongoDB学习笔记(二)--Capped集合 && GridFS存储文件

    Capped集合                                                            Capped集合的大小是固定的,如果空间都被用完了,新添加的对象 ...

  4. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  5. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  6. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  7. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  8. MongoDB 学习笔记(原创)

    MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...

  9. MongoDB学习笔记(六)--复制集+sharding分片 && 总结

    复制集+sharding分片                                                               背景 主机 IP 服务及端口 Server A ...

随机推荐

  1. 我也想聊聊 OAuth 2.0 —— Access Token

    这是一篇待在草稿箱半年之久的文章 连我自己都不知道我的草稿箱有多少未发布的文章了.这应该是我在上一家公司未解散之前写的,记得当时是要做一个开发者中心,很不幸. 今天,打开草稿箱有种莫名的伤感,看到这个 ...

  2. SQL Server技术问题之索引优缺点

    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 优点: 正确的索引会大大提高数据查询.对结果排序.分组的操作效率. 缺点: 1.存储空间,每个索引都要空间 ...

  3. IOS中图片加载的一些注意点

    图片的加载: [UIImage imageNamed:@"home"] //加载 png图片 在ios中获取一张图片只需要写图片名即可 不需要写后缀 默认都是加载.png的图片 但 ...

  4. IOS开发UI基础UIPageControl的属性

    UIPageControl 常见属性: •    numberOfPages // 设置有多少页 默认为0 [pageControl setNumberOfPages:kImageCount]; •  ...

  5. 【Spark】---- 在Linux集群上安装和配置Spark

    1 安装JDK   1) 进入JDK官网 2) 下载JDK安装包 3)配置环境变量,在/etc/profile增加以下代码 JAVA_HOME=/home/hadoop/jdk1.6.0_38 PAT ...

  6. Hibernate中延迟加载和缓存

    什么是延迟加载? 延迟加载是指当应用程序想要从数据库获取对象时(在没有设置lazy属性值为false),Hibernate只是从数据库获取符合条件的对象的OId从而生成代理对象,并没有加载出对象 访问 ...

  7. 通俗易懂的ListView讲解(Adapter、图、实例)

    2016/4/5 17:22] 之前写listview其实写了很多次,但好像还是模模糊糊的感觉,直到今天准备写tab的时候被告诉说原理有像的地方,于是我就先来分析整理一下listview好了   先来 ...

  8. GoodsAndStaffManagermentSystem----Sprint 计划1

    需求分析:茗仕茶业管理系统是个商品-员工综合管理系统. 员工管理:设置不同的职位,不同职位有不同访问权限.员工只能卖商品,财务员只有查看商品的库存量和商品销售记录:公司老板可以查看所有信息--    ...

  9. 【Win10】页面导航的实现

    注:本文基于 Windows 10 10240 及其 SDK 编写,若以后有变化,请以新版本为准. 页面导航我们是再熟悉不过了,浏览器.手机 App 大多都使用这种方式来展示内容.在 Windows ...

  10. 三分 --- POJ 3301 Texas Trip

    Texas Trip Problem's Link:   http://poj.org/problem?id=3301 Mean: 给定n(n <= 30)个点,求出包含这些点的面积最小的正方形 ...