そのため、MySQL で自動インクリメント プライマリ ID によって送信を検索することに慣れていますが、MongoDB ORM ラッパーである Mongoose を使用した後、Mongo はコレクション内にデータを異なる方法で保存するため、従来の自動インクリメント ID。
通常、私は自分の URL を次のように構成するため、現在、提出物を取得する方法を見つけようとして立ち往生しています。
submission/34/category/slug-goes-here
.
現在、Mongo では UUID に基づく醜い文字列になっているため34
、URL にそれを表示する必要はありませんが、提出物を検索するために一意の URL が必要です。
提出物をデータベースに挿入すると、ある種の6文字のハッシュが生成され、そのように検索されるというsetメソッドを持つことを考えていますzhXk40
。
このようにすると、パフォーマンスのトレードオフがどうなるか疑問に思っています。スラッグに制約をつけて、それをスラッグで調べて、カテゴリが一致していることを確認したら、もっと効率的でしょうか? いずれにしても、カテゴリとスラッグが一致するかどうかを確認する必要がありますが、この場合 ID が本当に必要かどうかはわかりません。
ルートを作成し、そのルートに基づいてデータベースからデータを検索するためのベストプラクティスは何ですか?