1. Mongo有多种类型的collection, 默认的是随着document 数目的增多自动增大; 还有一些collection被称为capped collection, 只能包含固定数目的document, 当向里面添加document时, 最老的文档就会被新加的文档替换。
  2. 每个mongo collection都有唯一的名字,名字可以包含数字,letter和下划线,但$符不能用,是mongo保留字符。Collection的名字的最大允许长度是128,.
  3. 每个Mongo数据库默认最多允许24000个命名空间,每个collection至少需要两个命名空间:一个是collection自身,另一个是默认创建的第一个index. 也就是说,一个数据库最多可以允许12000个collection,这还是在每个collection只有一个索引的情况下。

    24000的限制可以通过执行mongod的时候通过提供nssize参数来更改。

  4. Mongo中的字段类型如下:

类型

说明

例子

string

 

{Country: "China"}

Integer(32b or 64b)

 

{Rank:1}

BOOLEAN

TRUE or FALSE

 

Double

存放浮点数

 

Min/Max keys

分别用来将一个值和最小/最大的BSON元素进行比较

 

Arrays

 

["aa","bb"]

Timestamp

用来存储时间戳。用来记录一个document创建或者修改的信息的时候很方便。

 

Object

用来存储embedded document.

 

Null

用来表示Null值。

 

Date

用UNIX时间格式(POSIX时间)来存储当前日期或者时间

 

Object ID

用来存储document的ID

 

Binary data

用来存储binary data.

 

Regular express

存储正则表达式

 

JavaScript Code

用来存储Javascript代码

 

 

最后五种数据类型是非JSON数据类型,是BSON允许你用的特殊数据类型。在后面,将学到如何用$type操作符来鉴别你的数据类型。

 

  1. 用MongoDB, 尽可能把能放在一起的信息都放在一个文档里,这样存取都非常快,因为它们在磁盘上是放在一起的。

    当你的应用程序是给多个用户用的时候,Good practise是把每个用户以及他们添加的数据分别放在不同的collection中,这个是与关系型数据库不同的地方。 Mongo允许你用两种方式在Collection之间创建引用:手动方式和自动方式。自动方式使用DBRef, 它在一个collection从给一个文档切换到下一个文档时提供了很大的灵活性。

     

  2. Mongo中的ObjectId是个12位的值:包含三位时间戳(从epoch开始的秒数),3位机器id, 3位进程id, 3位计数器。

    要创建一个ObjectId,有两个选择:一个是用Mongo命令行调用ObjectId()命令来创建一个 ObjectId,另一个可以用ObjectId(string)来用你自己的值来创建。

     

     

(The Definitive Guide to MongoDB)

Mongo读书笔记2 -- 数据类型的更多相关文章

  1. 《MySQL技术内幕——SQL编程》读书笔记(二)——数据类型

    对数据类型的选择将影响与数据库交互的应用程序的性能. 1.通常来说,如果一个页内可以存放尽可能多的行,那么数据库的性能就越好,因此选择一个正确的数据类型至关重要. 2.另一方面,如果在数据库中创建表时 ...

  2. Mongo读书笔记1 -- GridFS

      一个Mongo文档最大4M. GridFS不依赖于MongoDB, 其他符合规范的驱动都可以访问它. GridFS包含两部分:一部分存储文件名和其他metadata; 另一部分存储实际的文件,通常 ...

  3. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  4. 《C#高级编程》读书笔记

    <C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) sh ...

  5. js读书笔记

    js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...

  6. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  7. WPF,Silverlight与XAML读书笔记第四十八 - Silverlight网络与通讯

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 这一部分我们重点讨论下Silverlight ...

  8. 《C#图解教程》读书笔记之二:存储、类型和变量

    本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.类型初窥:掀起你的盖头来 (1)C程序是一组函数和数据类型,C++程序是一组函数和类,而C#程序是一组类型声 ...

  9. 《javascript权威指南》读书笔记(连载)

    这是一篇很长的博客 终于把权威指南给买回来了,之前一直犹豫,第一:书太厚,怕买了不能坚持看完.第二:觉得太贵,最少100¥.现在实习也能发点工资了,给自己定了一个志愿:把一个月的工资用于买书.这么一想 ...

随机推荐

  1. php常见网络攻击及防御方法

    常见的Web攻击分为两类:一是利用Web服务器的漏洞进行攻击,如CGI缓冲区溢出,目录遍历漏洞利用等攻击;二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等.下面这篇文章主要介绍了PHP ...

  2. ThinkPHP连接sqlserver,错误11001

    错误代码如下: :( 11001:[Microsoft][ODBC Driver 11 for SQL Server]TCP Provider: 不知道这样的主机. 0:[Microsoft][ODB ...

  3. BZOJ.2916.[POI1997]Monochromatic Triangles(三元环)

    题目链接 \(Description\) n个点的完全图,其中有m条边用红边相连,其余边为蓝色.求其中三边同色的三角形个数. \(Solution\) 直接求同色 除了n^3 不会.. 三角形总数是C ...

  4. BZOJ.2716.[Violet3]天使玩偶(K-D Tree)

    题目链接 KD-Tree.因为插入过多点后可能会退化成链,所以左/右子树sz > α*整棵子树sz时对整棵子树进行重构. 树的节点数必须是3n?why?洛谷,BZOJ都这样..(数据范围错了吧 ...

  5. [CodeChef-QTREE6]Query on a tree VI

    题目大意: 给你一棵黑白树,每个点默认是白色,要求支持以下两种操作: 1.改变一个点的颜色: 2.除去连接不同颜色的点的边,求某个点连通块的大小. 思路: 对原树维护两个树链剖分, 一棵维护当点x为白 ...

  6. spring---aop(2)---Spring AOP的JDK动态代理

    写在前面 spring 事务是springAOP 的一个实现.我们以分析spring的事务,来分析spring的AOP实现. 基本知识 如果目标方法被spring的事务声明,则执行该目标方法的对象就会 ...

  7. [转贴] start-stop-daemon命令

    转贴自 http://www.lampblog.net/ubuntu/start-stop-daemon%E5%91%BD%E4%BB%A4/ 1.功能作用 启动和停止系统守护程序 2.位置 /sbi ...

  8. 22LINQ查询运算符返回IEnumerable<T>实例汇总

    本篇体验LINQ的各种查询运算符.   先创建一个泛型方法,用来显示查询结果: private static void DisplayQuery<T>(IEnumerable<T&g ...

  9. App Store常用推广方法

    转:http://www.cocoachina.com/bbs/read.php?tid-5000.html 天天潜水,在这里获益不少.不贡献一点似乎过意不去,所以在这里根据自己的经验谈谈基本的推广方 ...

  10. Android调用手机中的应用市场,去评分的功能实现

    在我们常常使用的软件当中,我们经常可以看到在软件的设置界面,有一个功能那就是去评分的功能,只要我们一点击“去评分”就会调用手机中的应用市场软件.一开始我以为这个功能的实现是要遍历整个手机中的软件包名, ...