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