zoukankan      html  css  js  c++  java
  • MongoDB数据类型

    一.MongoDB数据类型

    首先我们要先了解一下MongoDB中有什么样的数据类型:

    Object  ID :Documents 自生成的 _id

    String: 字符串,必须是utf-8

    Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)

    Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)

    Double:浮点数 (没有float类型,所有小数都是Double)

    Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)

    Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典

    Null:空数据类型 , 一个特殊的概念,None Null

    Timestamp:时间戳

    Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)

    看着挺多的,但是真要是用的话,没那么复杂,很简单的哦

    二.MongoDB 之 剖析MongoDB的数据类型

    那么我们根据以上所说的数据类型(捡重点说,别整没用的)展开说明:

    1.Object ID :

    复制代码
    复制代码
    复制代码
    "_id" : ObjectId("5b151f8536409809ab2e6b26")

    #"5b151f85" 代指的是时间戳,这条数据的产生时间
    #"364098" 代指某台机器的机器码,存储这条数据时的机器编号
    #"09ab" 代指进程ID,多进程存储数据的时候,非常有用的
    #"2e6b26" 代指计数器,这里要注意的是,计数器的数字可能会出现重复,不是唯一的
    #以上四种标识符拼凑成世界上唯一的ObjectID
    #只要是支持MongoDB的语言,都会有一个或多个方法,对ObjectID进行转换
    #可以得到以上四种信息

    #注意:这个类型是不可以被JSON序列化的
    复制代码
    复制代码
    复制代码

    这是MongoDB生成的类似关系型DB表主键的唯一key,具体由24个字节组成:

    0-8字节是时间戳,

    9-14字节的机器标识符,表示MongoDB实例所在机器的不同;

    15-18字节的进程id,表示相同机器的不同MongoDB进程。

    19-24字节是计数器

    2.String :

    UTF-8字符串,记住是UTF-8字符串

    3.Boolean :

    true or false 这里首字母是小写的

    4.Integer :

    整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)

    5.Double :

    浮点数 (MongoDB中没有float类型,所有小数都是Double)

    6.Arrays :

    复制代码
    复制代码
    复制代码
    {
        "_id" : ObjectId("5b163830993ddc4cd4918ead"),
        "name" : "LuffyCity",
        "teacher" : [
            "DragonFire",
            "WuSir2B",
            "Alex AGod"
        ]
    }
    复制代码
    复制代码
    复制代码

    数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦

    7.Object :

    复制代码
    复制代码
    复制代码
    {
        "_id" : ObjectId("5b163915993ddc4cd4918eaf"),
        "name" : "LuffyCity",
        "course" : {
            "name" : "Python",
            "price" : 19800
        }
    }
    复制代码
    复制代码
    复制代码

    如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典

    8.Null :

    {
        "_id" : ObjectId("5b163a0e993ddc4cd4918eb0"),
        "name" : "LuffyCity",
        "course" : null
    }

    空数据类型 , 一个特殊的概念,None Null

    9.Timestamp :时间戳

    {
        "_id" : ObjectId("5b163bbf993ddc4cd4918eb3"),
        "name" : "LuffyCity",
        "date" : 1528183743111
    }

    10.Date :

     

    {
        "_id" : ObjectId("5b163ba1993ddc4cd4918eb2"),
        "name" : "LuffyCity",
        "date" : ISODate("2018-06-05T15:28:33.705+08:00")
    }

     存储当前日期或时间格式 (我们一般很少使用这个Date类型,因为时间戳可以秒杀一切时间类型)

    数据类型就介绍到这里了,接下来我们就要学习一下在数据进行增删改查时,数据类型的特殊用法

  • 相关阅读:
    salmon 报错:ESC[00mException : [rapidjson internal assertion failure: IsObject()] salmon quant was invoked improperly.
    报错:RSEM can not recognize reference sequence name chr1!(基因组的bam不能直接用rsem进行表达值计算)
    R: 使用tapply根据相同ID合并指定列
    linux:去除特定列为空格的行
    知乎一答:程序员为什么要关注管理
    如何掌握一门编程语言的运用
    谈谈程序员这个职业及前景
    Oracle学习笔记(2)--Centos 7 下11gR2部署
    用flask写一个简单的接口
    iptables命令详解
  • 原文地址:https://www.cnblogs.com/jcdee/p/11283541.html
Copyright © 2011-2022 走看看