【发布时间】:2013-02-19 11:09:49
【问题描述】:
所以我习惯于通过 MySQL 的自动增量主 ID 查找提交,但是在使用 MongoDB ORM 包装器 Mongoose 之后,我发现由于 Mongo 在集合中存储数据的方式不同,实际上并没有任何概念传统的自增 ID。
我现在一直想弄清楚如何获取提交,因为通常我会这样构建我的 URL:
submission/34/category/slug-goes-here.
由于 34 现在在 Mongo 中变成了一个丑陋的基于字符串的 UUID,我不需要在我的 URL 中显示它,但我想要一个唯一的 URL 来查找我的提交。
我正在考虑可能有一个 set 方法,当我将提交插入我的数据库时,它会生成某种 6 字符哈希,例如zhXk40 并这样查找。
我想知道如果我这样做,性能权衡会是什么。如果我对 slug 进行限制,然后用 slug 查找它们,并验证类别匹配,那会更有效吗?无论哪种方式,我都必须检查类别和 slug 是否匹配,但我不确定在这种情况下是否真的需要 ID。
创建路由+根据该路由从数据库中查找一些数据的最佳实践是什么?
【问题讨论】:
-
我只是在包含“外部 id”的文档中添加一个新的索引和唯一字段。使用它来查找文档。
标签: mongodb database-design mongoose database nosql