在 MongoDB 的字段名称中使用 snake_case 有什么缺点?
What are the disadvantages of using snake_case in MongoDB's field names?
由于项目约定,我正在考虑在我的 mongoDB 文档中使用 snake_case。
正如我在这里研究的那样,由于其 BSON 存储,camelCase 似乎是 mongodb 中的标准。
例如我的文档
{
"created_at": "",
"issuer": "my-user-name",
"document_id": "81234-guid",
"file_id": "81234-another-guid",
"details": {
...
}
}
如你所见,我在snake_case之下。这意味着我的许多字段名称都长了一个字符。
- 这对存储有何影响?
- 是否有任何压缩或算法单独存储字段名称,或者每个字段名称实际上都存储在 BSON 中?
在我的用例中,那里的集合会有很多小条目
对于每个文档,mongodb 中将存储大约 10 个实体。
将有大约 1.000.000.000 个文档,这意味着集合中至少存储了 10.000.000.000 个实体。
数据库没有规定如何命名字段(除了必须有一个名为_id
的字段)。
例如,在 Ruby 中,约定是在您考虑时使用下划线样式。
如果您想使用短字段名来优化存储,将驼峰式大小写更改为下划线与实际使用较短的字段名(例如 n
而不是 count
, 等等).
由于项目约定,我正在考虑在我的 mongoDB 文档中使用 snake_case。 正如我在这里研究的那样,由于其 BSON 存储,camelCase 似乎是 mongodb 中的标准。
例如我的文档
{
"created_at": "",
"issuer": "my-user-name",
"document_id": "81234-guid",
"file_id": "81234-another-guid",
"details": {
...
}
}
如你所见,我在snake_case之下。这意味着我的许多字段名称都长了一个字符。
- 这对存储有何影响?
- 是否有任何压缩或算法单独存储字段名称,或者每个字段名称实际上都存储在 BSON 中?
在我的用例中,那里的集合会有很多小条目 对于每个文档,mongodb 中将存储大约 10 个实体。 将有大约 1.000.000.000 个文档,这意味着集合中至少存储了 10.000.000.000 个实体。
数据库没有规定如何命名字段(除了必须有一个名为_id
的字段)。
例如,在 Ruby 中,约定是在您考虑时使用下划线样式。
如果您想使用短字段名来优化存储,将驼峰式大小写更改为下划线与实际使用较短的字段名(例如 n
而不是 count
, 等等).