用户定义的键有哪些值限制?

7
在ArangoDB中,当一个集合被定义为允许用户自定义键时,对于键的值有什么限制?例如,键值"Name-2"是有效的,但是键值"Name,2"会导致ArangoError 1221: invalid document key错误。
2个回答

9

参考手册,以下是关于文档键的规则:

  • 键必须是字符串类型。不允许使用数字键,但可以将任何数字值放入字符串中,然后用作文档键。
  • 键至少为1个字节,最多为254个字节。当指定时,禁止使用空键(虽然完全可以从文档中完全省略_key属性)
  • 它必须由字母a-z(小写或大写)、数字0-9或以下标点符号字符之一组成:_ - : . @ ( ) + , = ; $ ! * ' %
  • 不能在键值内部使用其他字符,尤其是多字节UTF-8序列、空格或标点符号字符
  • 键必须在使用的集合内是唯一的

键区分大小写,例如myKeyMyKEY被认为是不同的键。


谢谢提供链接,我们在手册中找了很久也没找到正确的位置! - WiredPrairie
@stj 在此期间限制已经发生了变化,也许你可以编辑你的帖子。根据文档,逗号现在是有效的。新的文档链接(你的链接指向索引):https://docs.arangodb.com/3.4/Manual/DataModeling/NamingConventions/DocumentKeys.html - Alexis R

1
用户定义的键的限制(或命名约定)可以在文档 这里 中找到。

感谢您提供的链接,我们在手册中找不到它! - WiredPrairie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接