如何更好地利用MongoDB生成的objectId.我不是专家用户,但到目前为止我最终为我的对象(userid,postid)等创建了单独的id,因为对象id太长并且如果用作主ID则使url变丑.我保持_id完整,因为它有助于索引等.我想知道任何更好的策略,以便可以使用mongo objectId作为更友好和易记的关键.我读到的密钥是日期等的组合,因此任何部分都可以在集合中用于此目的.
谢谢,
bsr /
如果您有一个现有的 ID(比如来自现有数据集),那么完全可以_id用您拥有的 ID 进行覆盖。
...保持 _id 完整,因为它有助于索引等
MongoDB_id默认对该字段建立索引。如果您开始将整数放入_id字段中,它们将像其他所有内容一样被索引。
因此大多数 RDBM 都提供“自动增量”ID。这对于小型数据集来说很好,但在可扩展性方面确实很差。如果您尝试同时向 20 个服务器插入数据,如何保持“自动增量”完好无损?
正常的答案是你不知道。相反,您最终会使用 GUID 等内容作为这些 ID。对于 MongoDB,ObjectId已经提供了。
我想知道是否有更好的策略,以便可以使用 mongo objectId 作为更 url 友好且易于记住的密钥
所以这里的问题是“容易记住”的ID并不能真正与“高度可扩展的数据库”相契合。当您拥有十亿个文档时,ID 并不是真正“容易记住”。
所以你必须在这里做出权衡。如果您的表可能变得非常大,我建议使用 ObjectId。如果您有一个相对较小且不经常更新的表(例如“查找”表),那么您可以构建自己的自动增量。
选择权完全取决于您。
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |