私はmongodb
データベースが初めてです。uid
ローカルを作成して使用する関数を実装しますObjectId
。どちらが良いですか?
2 に答える
ObjectID の生成はクライアント/ドライバーに任せる必要があります。これにより、生成された ID が、時間、サーバー、プロセスなどの多くのものの中で一意になるようになります。標準の ObjectID を使用すると、ドライバーによって実装されたメソッド (getTimestamp() など) が機能することも意味します。
ただし、 _id フィールドに独自のタイプの ID (つまり、標準の ObjectID タイプではない) を使用することを考えている場合は、それが実行可能な選択になります。たとえば、Twitter ユーザーに関する情報を保存する場合、ユーザーの Twitter ID を _id 値として使用することは完全に理にかなっています。個人的には、必要に応じて ObjectID 型に依存しないようにしています。多くの場合、コレクションには、各ドキュメントを一意に識別するフィールドが各ドキュメントに既に含まれているからです。
これは、次の 3 つの要素に依存します。
- そのソース
- ユーザー ID をどこで、どのように使用していますか?
- 個人的な意見。
私の個人的な意見では、オブジェクト ID で十分ですが、1 番目と 2 番目のポイントに戻ります。
この ID が SQL データベースのような別のデータベースで使用されるか、使用される場合は、増分 ID を使用することをお勧めしますが、SQL やその他の技術では 16 進形式のオブジェクト ID を完全にサポートしています。
この ID が口座番号のように使用できるものである場合 (電話をかけるときの自動車保険の口座番号を考えてみてください)、オブジェクト ID が難しすぎて、ユーザーが覚えたり覚えたりするのが難しいと感じるかもしれません。ここではIDの方が適切かもしれません。
そのため、この ID がどのように使用されているかによって大きく異なります。