我正在建立一个不同语言的索引句子语料库.我有一个语言集合,其中包含ObjectId和ISO代码作为键.使用对语言集合的引用或存储像"en"或"fr"这样的键更好吗?
我想这是一个妥协:
我应该知道的任何最佳实践?
最后,它真正归结为个人选择以及最适合您应用的选择.
MongoDB对_id强加的唯一要求是它是唯一的.它可以是ObjectId(默认提供),字符串,甚至是嵌入式文档(我记得它不能是一个数组).
在这种情况下,您可以保证ISO代码是唯一值,它可能是理想值.你有一个'已知'主键,它本身也是可识别的,所以使用它而不是生成的ID可能是一个更明智的选择.它还意味着您可以在另一个集合中"引用"此信息,您可以保存ISO代码而不是对象ID; 浏览原始数据的人可以立即识别参考点所指的信息.
作为旁白:
ObjectId的两大好处是它们可以跨多个机器,进程和线程唯一生成,而无需MongoDB服务器进行任何类型的中央序列跟踪.它们也作为一种特殊类型存储在MongoDB中,只使用12个字节(而不是ObjectID的字符串版本的24字节表示)
| 归档时间: |
|
| 查看次数: |
2172 次 |
| 最近记录: |