注意事项

使用 SequoiaDB 巨杉数据库的 JSON 实例时需要注意以下几点:

  • SequoiaDB 巨杉数据库 JSON 实例严格区分大小写

    例如,在执行以下两条获取集合空间句柄操作时, “emp” 和 “EMP” 表示的是两个不同的集合空间,有独立的集合和数据:

    > db["emp"]
    localhost:11810.emp
    Take 0.000655s.
    > db["EMP"]
    localhost:11810.EMP
    Take 0.000101s.
  • SequoiaDB 巨杉数据库 JSON 实例使用动态数据类型

    例如,一变量在进行赋值操作后,仍然可以将其赋值为其他数据类型的值:

    > var variable = 1;
    Takes 0.000049s.
    > typeof(variable)
    number
    Takes 0.000058s.
    > variable = "hello world";
    Takes 0.000065s.
    > typeof(variable)
    string
    Takes 0.000081s.
  • SequoiaDB 巨杉数据库 JSON 实例无函数重载概念

    例如,对于以下定义的两个同名函数 func() 和 func(parameter) ,只有后定义的 func(parameter) 会生效:

    > function func(){ println("function has no parameter"); }
    Takes 0.000063s.
    > function func(parameter){ println("function has parameter"); }
    Takes 0.000087s.
    > func();
    function has parameter
    Takes 0.000059s.
    > func("hello");
    function has parameter
    Takes 0.000071s.
  • SequoiaDB 巨杉数据库 JSON 实例使用 Float 存储浮点型数据,注意精度问题

    例如,定义两个浮点型数据 v1 和 v2 ,在执行加法操作后赋值给 v3 ,根据数学加法定义可以轻易计算出 v3 的值为 0.3 ,但是由于 Float 存储小数的精度问题,实际上 v3 与 0.3 并不相等:

    > var v1 = 0.1
    Takes 0.000119s.
    > var v2 = 0.2
    Takes 0.000087s.
    > var v3 = v1 + v2
    Takes 0.000060s.
    > println(v3)
    0.30000000000000004
    Takes 0.000063s.
    > println(v3 == 0.3)
    false
    Takes 0.000048s.
回到顶部