我有一个相当大的网络应用程序。该应用程序分为多个模块。每个模块可以在 Mongodb 数据库中创建多个集合。
由于每个模块都可以创建集合,因此它们之间可能会发生冲突,因此我目前正在尝试以一种优雅的方式“命名空间”我的集合。
这是我想做的一个例子:
Module1 创建这些集合:
module1.items
module1.employees
Module2 创建这些集合:
module2.items // Avoid collision with module1
module2.animals
这是我想避免的一个例子:
Module1 创建这些集合:
module1items
module1employees
Module2 创建这些集合:
module2items // Avoid collision with module1
module2animals
现在我想知道使用“。”是否是一种不好的做法。在集合名称中。通常,“。” 用于从集合名称中拆分数据库名称,例如db.mydatabase.mycollection
所以我担心如果我使用“。”可能会遇到的错误。命名我的集合名称的方法。
[编辑]
这是我在 mongodb 网站上找到的引用:
对于示例acme.users命名空间,acme是数据库名称,users是集合名称。集合名称中可以出现句点字符,因此acme.user.history是一个有效的命名空间,其中acme作为数据库名称,user.history作为集合名称。 参考
将其添加到Stephane Godbillon 的答案(提到 gridFS)中,我现在对使用该命名约定感到非常安全。现在我只希望我使用的 ODM (mongoose) 不会造成任何问题:)。