MongoDB–数据类型

重点说明几种:
1.字符串
UTF-8字符串都可以表示为字符串类型的数据
{"x":"baba"}
2.数值
shell默认使用64位浮点整数型,对于整型值,可以使用NumerInt(表示4字节带符号整数)或NumberLong类(表示8字节带符号整数)
"x":NumberInt("3")
"x":NumberLong("3")
3.日期
表示当前距离 Unix新纪元(1970年1月1日)的毫秒数。日期类型是有符号的, 负数表示 1970 年之前的日期。 日期存储的精确到毫秒级,不存储时区。
> var mydate=new Date()
> mydate
ISODate("2019-11-21T06:17:36.292Z")
> typeof mydate
object
>
可以使用toString()得到日期字符串
> var mydate1=mydate.toString()
> mydate1
Thu Nov 21 2019 14:17:36 GMT+0800 (CST)
> typeof mydate1
string
>
4.正则表达式
查询的时候使用正则表达式作为限定条件,语法和js语法相同
{"x":/fooow/i}
5.数组
数组中的元素可以是不同是数据类型的,文档中的数组,MongoDB可以理解这种结构
{"x":["a",3,"c"]}
6.内嵌文档
文档可以内嵌其他文档,被嵌套的文档作为父文档的值
> people={"name":"zs","age":12,"address":{"street":"123 part","city":"beijin","state":"NY"}}
{
"name" : "zs",
"age" : 12,
"address" : {
"street" : "123 part",
"city" : "beijin",
"state" : "NY"
}
}
>
7.ObjectId
ObjectId 类似唯一主键,可以很快的去生成和排序,包含 12 bytes,含义是:
- 前 4 个字节表示创建 unix 时间戳,格林尼治时间 UTC 时间,比北京时间晚了 8 个小时
- 接下来的 3 个字节是机器标识码,散列值(hash)
- 紧接的两个字节由进程 id 组成 PID(进程标志符)
- 最后三个字节是随机数
MongoDB 中存储的文档必须有一个 _id 键。这个键的值可以是任何类型的,默认是个 ObjectId 对象由于 ObjectId 中保存了创建的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 getTimestamp 函数来获取文档的创建时间:
> var newObject=ObjectId()
> newObject
ObjectId("5dd6302f646aa0dd388e14b0")
> newObject.getTimestamp()
ISODate("2019-11-21T06:35:27Z")
>