MongoDB 的集合命名规范是什么?

推荐答案

MongoDB 的集合命名规范如下:

  1. 集合名称不能为空字符串
  2. 集合名称不能包含空字符(即 \0)。
  3. 集合名称不能以 system. 开头,因为这是 MongoDB 内部保留的前缀。
  4. 集合名称不能包含 $ 符号,除非是用于特殊用途(如 $cmd 集合)。
  5. 集合名称长度限制:集合名称的长度不能超过 64 个字符。
  6. 集合名称区分大小写:集合名称是区分大小写的,因此 myCollectionmycollection 是两个不同的集合。
  7. 集合名称应避免使用保留字:虽然 MongoDB 允许使用某些保留字作为集合名称,但为了避免潜在的问题,建议避免使用。

本题详细解读

1. 集合名称不能为空字符串

MongoDB 要求集合名称必须是一个非空字符串。空字符串会导致创建集合失败。

2. 集合名称不能包含空字符

空字符(\0)在 MongoDB 中被视为字符串的结束符,因此集合名称中不能包含空字符。

3. 集合名称不能以 system. 开头

system. 是 MongoDB 内部保留的前缀,用于系统集合(如 system.userssystem.indexes 等)。用户自定义的集合名称不能以 system. 开头,以避免与系统集合冲突。

4. 集合名称不能包含 $ 符号

$ 符号在 MongoDB 中通常用于操作符(如 $set$inc 等),因此集合名称中不能包含 $ 符号。唯一的例外是 $cmd 集合,它是 MongoDB 内部使用的集合。

5. 集合名称长度限制

MongoDB 对集合名称的长度有限制,最多不能超过 64 个字符。超过这个长度的集合名称会导致创建集合失败。

6. 集合名称区分大小写

MongoDB 的集合名称是区分大小写的。这意味着 myCollectionmycollection 是两个不同的集合。在命名集合时,应注意大小写的一致性。

7. 集合名称应避免使用保留字

虽然 MongoDB 允许使用某些保留字作为集合名称,但为了避免潜在的问题,建议避免使用这些保留字。例如,避免使用 dbadminlocal 等作为集合名称。

纠错
反馈