一、null

  null用于表示空值或者不存在的字段

  {"X" : null}

二、布尔型

  布尔类型有两个值true和false

  {"x" : true}

三、数值

  {"x" : 3.14}

  {"x" : 3}

四、字符串

  {"x" : "qiaoansheng"}

五、日期类型

  {"x" : new Date()}

六、正则表达式

  {"x" : /foobar/i}

七、数组

  ("x" : ["a", "b", "c", "d"])

八、内嵌文档

  {"x" : {"qiao" : "ansheng"}}

九、对象id

  {"x" : ObjectId()}

十、二进制数据

十一、代码

  {"x" : function() { /* ... */ }}

日期:

  在shell中创建日期对象的时候使用的是new Date() 返回的是一个日期类型的字符串 (2016/4/7 2:03:42)

数组:

  数组是一组值,它既能作为有序对象(入列表、栈或队列),也能作为无序对象(入:数据集)来操作

  {"qiao" : ["an",  "sheng",  3,  4.12]}

  上面 "qiao" 的文档中, qiao 这个键的值是一个数组

  数组中可以包含不同数据类型的元素

内嵌文档

{

  "OldId" : 934326,
  "Catalogs" : [{
    "CatalogId" : "5591f46e049fbb3c241a2526",
    "ParentId" : "",
    "CatalogName" : "语法",
    "Depth" : 0
  }, {
    "CatalogId" : "561746121daa7e28881ed7ff",
    "ParentId" : "5591f46e049fbb3c241a2526",
    "CatalogName" : "句型",
    "Depth" : 1
  }],
  "Points" : []

}

  内嵌文档,中可以这样存放数据,在关系数据库中,我们可以通过关系关联多张表来获取数据(比如说数据库中有两张表他们之间的关系是一对多的,那我就要通过这个一来获取这个多的数据,把它们放到一个list集合中)

但是在mongo中,因为他是非关系型数据库,所以我们无法进行表关联

  所以我们就使用内嵌文档的方式,把 多的这个数据存入到一的某一个键内

  这样我们从mongo中读取这个数据的时候,会自动给我们反序列化,这个Model  其中Catalogs 这个变量对应的是一个List的一个集合,集合中的数据就是数据库中Catalogs 的值

  mongoNB的一点是,他还能在内嵌文档中,在嵌入文档,程序获取数据的时候,也能给反序列化出来,集合中嵌套集合

  但是有一点,mongo目前只能修改到第二级的集合,也就是最多只能修改Catalogs 下面的数据

  如果Catalogs 下面的数据中嵌套的还有集合,就不能直接更新了,只能把 Catalogs 重新构建这个数据,更新到数据库中

_id和ObjectId

  ObjectId使用12字节的存储空间,是一个有24个十六进制数字组成的字符串,他是mongo的默认主键

Mongo中的数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化

    hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...

  3. js中的数据类型

    JS中的数据类型: ——数字  (number)NaN ——字符串(string) ——布尔  (boolean)——函数  (function)     也是对象的一种 ——对象  (object) ...

  4. 如何判断js中的数据类型?

    js六大数据类型:number.string.object.Boolean.null.undefined string: 由单引号或双引号来说明,如"string" number: ...

  5. 如何判断js中的数据类型

    如何判断js中的数据类型:typeof.instanceof. constructor. prototype方法比较 如何判断js中的类型呢,先举几个例子: var a = "iamstri ...

  6. c中的数据类型、常量、变量

    一. 数据 1. 什么是数据 生活中时时刻刻都在跟数据打交道,比如体重数据.血压数据.股价数据等.在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据.图片数据.视频数据,还有聊QQ时产生的文 ...

  7. [转]如何判断js中的数据类型

    原文地址:http://blog.sina.com.cn/s/blog_51048da70101grz6.html 如何判断js中的数据类型:typeof.instanceof. constructo ...

  8. 数据库中字段类型对应的C#中的数据类型

    数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] ...

  9. C++中各种数据类型占据字节长度

    准备校招笔试的时候经常遇到C++某个数据类型占据多少个字节的问题,查阅了下资料,总结如下: 首先罗列一下C++中的数据类型都有哪些: 1.整形:int.long 2.字符型:char.wchar_t ...

随机推荐

  1. HTTPS传输协议原理

    我们常常在使用网上银行时看到的连接都是以“https”开始的,那么这个https是什么呢?这其实是表示目前连接使用了SSL进行加密,能保证客户端到服务器端的通信都在被保护起来,那么浏览器是如果实现的呢 ...

  2. Sprint第一个冲刺(第十一天)

    一.Sprint介绍 修改登录信息界面(修改用户名.密码.邮箱.电话.年龄),且同步到云端:修改Item布局:增添设置页. 实验截图: 任务进度: 二.Sprint周期 看板: 燃尽图:

  3. 【python游戏编程之旅】第二篇--pygame中的IO、数据

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇中,我们介绍了pygame的入门操作http://www.cnblogs.com/msxh/p/49 ...

  4. [leetCode][003] Intersection of Two Linked Lists

    [题目]: Write a program to find the node at which the intersection of two singly linked lists begins. ...

  5. CC150 - 11.2

    Question: Write a method to sort an array of strings so that all the anagrams are next to each other ...

  6. fireBug使用指南

    据说,对于网页开发人员来说,Firebug是Firefox浏览器中最好的插件之一. 我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来. ========= ...

  7. 【BZOJ】1458: 士兵占领(上下界网络流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1458 是不是我脑洞太小了.......直接弄上下界最小流........(就当复习了.. 二分图X和 ...

  8. pygame系列_原创百度随心听音乐播放器_完整版

    程序名:PyMusic 解释:pygame+music 之前发布了自己写的小程序:百度随心听音乐播放器的一些效果图 你可以去到这里再次看看效果: pygame系列_百度随心听_完美的UI设计 这个程序 ...

  9. WebConfig配置文件详解(转载自逆心的博客)

    <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual S ...

  10. ASP.NET后台JS弹框使前台页面样式丢失 解决办法

    Response.Write("<script>alert('您还没有上传相关图片!');</script>");是向前台输出js 应该用下面的方法 Cli ...