Users can pick attribute names for document attributes as desired, provided the following attribute naming constraints are not violated:
- Attribute names starting with an underscore are considered to be system
attributes for ArangoDB’s internal use. Such attribute names are already used
by ArangoDB for special purposes:
_idis used to contain a document’s handle
_keyis used to contain a document’s user-defined key
_revis used to contain the document’s revision number
- In edge collections, the following attributes are used to reference other documents:
More system attributes may be added in the future without further notice so end users should try to avoid using their own attribute names starting with underscores.
- Attribute names starting with an at sign (
@) need to be enclosed in backticks when used in an AQL query to tell them apart from bind variables. Therefore, we do not encourage the use of attributes starting with at sign, even though they work when used properly.
- ArangoDB does not enforce a length limit for attribute names. However, long attribute names may use more memory in result sets etc. Therefore the use of long attribute names is discouraged.
- Attribute names are case-sensitive.
- Attributes with empty names (an empty string) are disallowed.