
1、db.collection.find({name:{$type:2}}) //查询name字段类型为2即为string类型的所有文档。
2、null :表示空值或者不存在的字段 例如:db.collection.find({“y”:null})
3、布尔 有2个值true或false 例如:{“y”:true}
4、数值类型 支持32-int、64-int以及64-double 注:javascript只支持645、位浮点数,例如:{“y”:10} {“y”:numberint(10)}
6、字符串 使用utf-8对字符串进行编码,例如 {“y”:”hello mongodb”}
7、二进制数据:可以保存由任意字节组成的字符串,例如图片视频。
8、正则表达式类型:主要用于查询,使用正则表达式作为限定条件。
例如:{name:/foo/}name字段含有foo的文档
{name:/foo/i}name字段含有foo的文档,且不区分大小写
{name:/^foo/i}name字段以foo开头,且不区分大小写
9、javascript代码:文档中可以包含任意的javascript代码
{”func”,function(){}}
10、date日期:mongodb中日期是一个64位整数,它代表的是距unix epoch的毫秒数,即距1970.1.1的毫秒数。mongodb在存储时间时,先转化为utc时间,北京时间(cst)= utc + 8小时
mongodb shell中可以使用new date或isodate来创建时间对象,在进行显示时,shell会根据本地时间去设置显示日期对象。
11、timestamp
时间戳类型有2部分组成:32bit unix epoch + 32bit 自增序数。
12、objectid由24个十六进制字符构成,每个字节存储两位十六进制数字,总共需要12字节存储空间。
例如:{“_id”:objectid(“….”)}
每个字节代表的含义如下:
13、内嵌文档
文档可以作为键的值,这样的文档称为内嵌文档。内嵌文档可以使数据不用保存成扁平结构的键值对,从而使数据组织方式更加自然。
内嵌文档适合在子文档不是很大或者变化不频繁的情况下,反之则更适合使用引用文档。
14、数组
数组是使用方括号来表述的一组值,它既可以作为有序对象(列表、栈、队列),也可以作为无序对象(如 集合)来操作。
数组中可以包含不同数据类型的元素(字符串、浮点数、文档等)
针对数组mongodb提供了许多特定的操作符,例如<code>$push,$pop,$pull,$slice,$addtoset</code>等。
mongodb可自动的为数组元素建立multikey索引。