如何将mongodb集合命名为电子邮件名称

如何将mongodb集合命名为电子邮件名称,mongodb,Mongodb,我想以电子邮件地址命名mongo collections,我该如何命名?有办法逃跑吗。而且@?这样命名一个集合没有什么错。文件中有一个章节,标题为限制: 基本上: 在版本2.2中,集合名称不能: 包含$ 必须是空字符串(即“”) 因此,除了mongoDb shell中可用的“速记”变量符号之外,您似乎缺少了实数运算符: db.createCollection(“this@my.com") db.getCollection(“this@my.com插入({a:1}) db.getCollect

我想以电子邮件地址命名mongo collections,我该如何命名?有办法逃跑吗。而且@?

这样命名一个集合没有什么错。文件中有一个章节,标题为限制:

基本上:

在版本2.2中,集合名称不能:

  • 包含$
  • 必须是空字符串(即“”)
因此,除了mongoDb shell中可用的“速记”变量符号之外,您似乎缺少了实数运算符:

db.createCollection(“this@my.com")
db.getCollection(“this@my.com插入({a:1})
db.getCollection(“this@my.com)查找()
所有这些方法也适用于驾驶员


不确定这是什么用途,在文档中只使用“电子邮件”作为密钥似乎比为它们创建单独的集合要好。

您可以使用以下命令

db.runCommand({"create":"a@b.com"});
这将创建名为@的集合,您将获得以下指示集合创建的输出

{ "ok" : 1 }

正如其他人所提到的,@'是有效的,它没有在文档中注明

但是,您可能还需要考虑一些其他因素:

  • MongoDB集合的最大长度为120字节(我认为最终为116个字符)。电子邮件地址的最大长度为254个字符

  • MongoDB中集合的最大数量是有限制的,这取决于名称空间文件的大小。使用默认值,您基本上被限制为24000个集合+索引。请参阅这个问题,如果您要使用较大的命名空间文件将其提升到最大值,那么您应该考虑是否可能超出特定应用程序中的这个限制

  • 跨集合查询并不容易,所以请确保您没有任何可能需要这样做的用例


假设您可能正在构建某种类型的多租户应用程序,那么有许多资源在权衡各种选项。请查看。

您需要更详细地解释自己。我们不知道您的意思。我想他指的是mongo collections。是的,我指的是collections,我的错