• $type
    • 语法
    • 说明
    • 类型列表
    • 示例

    $type

    语法

    1. { <字段名>: { $type: <1|2> } }

    说明

    返回字段值的类型。

    作用例子
    1表示获取数值形式结果。16
    2表示获取字符串形式的结果。int32

    类型列表

    Type描述数值形式字符串形式
    32-bit integer整型,范围-2147483648至214748364716int32
    64-bit integer长整型,范围-9223372036854775808至9223372036854775807。如果用户指定的数值无法适用于整数,则 SequoiaDB 自动将其转化为长整数。18int64
    double浮点数,范围-1.7E+308至1.7E+3081double
    decimal高精度数,范围小数点前最高131072位;小数点后最高16383位100decimal
    string字符串2string
    ObjectID十二字节对象 ID7oid
    boolean布尔(true 或 false)8bool
    date日期(YYYY-MM-DD)9date
    timestamp时间戳(YYYY-MM-DD-HH.mm.ss.ffffff)17timestamp
    Binary dataBase64 形式的二进制数据5bindata
    Regular expression正则表达式11regex
    Object嵌套 JSON 文档对象3object
    Array嵌套数组对象4array
    null10null
    MinKey最小值-1minkey
    MaxKey最大值127maxkey

    示例

    在集合 foo.bar 插入1条记录:

    1. > db.foo.bar.insert( { "a" : 123 } )
    2. > db.foo.bar.insert( { "a": "abc" } )

    SequoiaDB shell 运行如下:

    • 作为选择符使用,返回字段“a”值的类型:
    1. > db.foo.bar.find( {}, { "a": { "$type": 1 } } )
    2. {
    3. "_id": {
    4. "$oid": "5832623892a95ad71f000000"
    5. },
    6. "a": 16
    7. }
    8. {
    9. "_id": {
    10. "$oid": "5832624692a95ad71f000001"
    11. },
    12. "a": 2
    13. }
    14. Return 2 row(s).

    Note:{ "a": 123 } 中,“a”为整数类型,类型数值为16。{ "a": "abc" } 中,“a”为字段串类型,类型数值为2。

    1. > db.foo.bar.find( {}, { "a": { "$type": 2 } } )
    2. {
    3. "_id": {
    4. "$oid": "5832623892a95ad71f000000"
    5. },
    6. "a": "int32"
    7. }
    8. {
    9. "_id": {
    10. "$oid": "5832624692a95ad71f000001"
    11. },
    12. "a": "string"
    13. }
    14. Return 2 row(s).

    Note:{ "a": 123 } 中,“a”为字段串类型,类型字符串值为“int32”。{ "a": "abc" } 中,“a”为字段串类型,类型字符串值为“string”。

    • 与匹配符配合使用,匹配字段“a”值的类型为字符串类型的记录:
    1. > db.foo.bar.find( { "a": { "$type": 1, "$et": 2 } } )
    2. {
    3. "_id": {
    4. "$oid": "5832624692a95ad71f000001"
    5. },
    6. "a": "abc "
    7. }
    8. Return 1 row(s).
    • 与匹配符配合使用,匹配字段“a”值的类型为整数类型的记录:
    1. > db.foo.bar.find( { "a": { "$type": 2, "$et": "int32" } } )
    2. {
    3. "_id": {
    4. "$oid": "5832623892a95ad71f000000"
    5. },
    6. "a": 123
    7. }
    8. Return 1 row(s).