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提供了许多特定的操作符,例如$push,$pop,$pull,$slice,$addToSet
等。
MongoDB可自动的为数组元素建立Multikey索引。