各种笔记
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
4.5 KiB

  1. 数据库名称
  2. ArangoDB将始终从名为_system的默认数据库启动。用户可以在ArangoDB中创建其他数据库,前提是数据库名称符合以下约束:
  3. 数据库名称只能由字母a到z(允许大小写),数字0到9以及下划线(_)或破折号(-)符号组成。这也意味着,任何非ASCII数据库名称都不是允许的
  4. 数据库名称必须始终以字母开头。下划线开头的数据库名称被认为是系统数据库,用户不应创建或删除这些名称
  5. 数据库名称允许的最大长度为64个字节
  6. 数据库名称区分大小写
  7. 集合名称和视图名称
  8. 用户可以根据需要选择其集合和视图的名称,前提是不违反以下命名约束:
  9. 名称只能由字母a到z(大小写),数字0到9以及下划线(_)或破折号(-)符号组成。这也意味着不允许使用任何非ASCII名称。
  10. 视图名称必须始终以字母开头。
  11. 用户定义的集合名称必须始终以字母开头。系统集合名称必须以下划线开头。
  12. 所有以下划线开头的集合名称均被视为仅用于ArangoDB内部使用的系统集合。最终用户不应将系统集合名称用于自己的集合。
  13. 名称的最大允许长度为256个字节。
  14. 集合名称和视图名称区分大小写。
  15. 文档_key
  16. 用户可以为保存的文档定义自己的密钥。文档密钥将与文档一起保存在_key属性中。用户可以根据需要选择键值,只要这些键值符合以下限制:
  17. 键必须是字符串值。不允许使用数字键,但是可以将任何数字值放入字符串中,然后用作文档键。
  18. 密钥必须至少为1个字节,最大为254个字节。指定时不允许使用空键(尽管从文档中完全省略_key属性可能是有效的 )
  19. 它必须由字母az(小写或大写),数字0-9或以下任何标点字符组成: _ - : . @ ( ) + , = ; $ ! * ' %
  20. 键值内不能使用任何其他字符,尤其是多字节UTF-8序列,空格或标点字符
  21. 该密钥在使用的集合中必须唯一
  22. 键区分大小写,即myKey和MyKEY被认为是不同的键。
  23. 创建新文档时,指定文档密钥是可选的。如果用户未指定文档密钥,则ArangoDB将自己创建文档密钥,因为每个文档都必须具有密钥。
  24. 除上述限制外,无法保证自动生成的文档密钥的格式和模式。因此,客户应将自动生成的文档密钥视为不透明的值,而不应依赖于其格式。
  25. 生成密钥的当前格式是包含数字的字符串。从后面生成的_key值将包含比之前生成的_key值更高的数字的意义上,数字值反映了时间顺序。但是服务器将生成的确切值是不可预测的。请注意,如果按_key属性排序,则将使用字符串比较,这意味着"100"小于"99"。
  26. 属性名称
  27. 用户可以根据需要选择文档属性的属性名称,前提是不违反以下属性命名约束:
  28. 以下划线开头的属性名称被视为ArangoDB内部使用的系统属性。此类属性名称已被ArangoDB用于特殊目的:
  29. _id用于包含文档的句柄
  30. _key用于包含文档的用户定义键
  31. _rev用于包含文档的修订号
  32. 在边缘收藏中,
  33. _from
  34. _to
  35. 属性用于引用其他文档。
  36. 将来可能会添加更多系统属性,恕不另行通知,因此最终用户应尽量避免使用以下划线开头的自己的属性名称。
  37. 从理论上讲,属性名称可以根据需要包括标点符号和特殊字符,前提是该名称是有效的UTF-8字符串。为了获得最大的可移植性,应避免使用特殊字符。例如,属性名称可能包含点符号,但是点在JavaScript和AQL中具有特殊含义,因此当以这些语言中的一种使用此类属性名称时,最终用户需要用引号引起来。总的来说,最好使用不需要使用所有语言进行任何引用/转义的属性名称。如果属性映射到客户端的对象成员,则包括客户端使用的语言(例如Ruby,PHP)。
  38. 当在AQL查询中使用属性名称时,以加号(@)开头的属性名称必须用反引号括起来,以区别绑定变量。因此,我们建议您不要使用以at-标记开头的属性,尽管它们在正确使用后仍然可以使用。
  39. ArangoDB不对属性名称实施长度限制。但是,长属性名称可能会在结果集中使用更多的内存等。因此,不建议使用长属性名称。
  40. 属性名称区分大小写。
  41. 不允许使用名称为空(字符串为空)的属性。