私はユーザコレクションを持っていますが、明らかにすべてのログインは一意です。この時点では、デフォルトで生成されたMongoIdの代わりにそれらを使用しない理由は考えられません。このアプローチには欠点がありますか?MongoIdの代わりに一意の文字列を_idとして使用することには何らかの弱点がありますか?
答えて
うん、それは完全にokと聞こえます。 ObjectIdsはシャーディングを行うときに便利で、組み込みのタイムスタンプを提供することができます。インデックスは、すべて同じサイズであるため、インデックス作成、ストレージの方が効率的です。しかし、あなたのアプリケーションがloginを使うのがより理にかなっているなら、うまくいくはずです。
タイムスタンプの解像度は秒単位であることに注意してください。より高い解像度が必要な場合は、別のフィールドを使用する必要があります。 – christkv
ログイン情報がメールアドレスでもある場合は、ある時点でユーザーがメールアドレスを変更するため、_id
として使用すると問題が発生します。ログインに電子メールアドレスを使用しない場合でも、ユーザーがユーザー名を変更できるようにすることができます。
_id
としてログインを使用することには不利な点はありませんが、私は質問します。標準のObjectId
フィールドを使用するだけの欠点はありますか?代わりにログインを使用して得たいものは何ですか?
タイラーBrock氏が答えて指摘したように、ObjectId
を使用すると、文書を作成したMongoDBのインスタンスのタイムスタンプと識別子など、ObjectId
にエンコードされた追加情報がいくつか追加されます。いつか役に立つかもしれない。
私の経験では、場合によっては、時にはの場合は本当に良い理由がありますが、使用している技術の流れに合わせるのが普通です。
- 1. URLにダブルスラッシュを使用することには何らかの弱点がありますか?
- 2. PHP:empty()の代わりに何がありますか?文字列 "0"は空として扱われません。
- 3. Javascript配列にプロパティを格納することには何らかの弱点がありますか?
- 4. このJava関数に何らかの弱点がありますか?
- 5. AJAXをRIAとして使用することには何らかの欠点がありますか?
- 6. フォアグラウンドサービスにContext.startService(Intent)の代わりにContext.startForegroundService(Intent)を使用することに利点はありますか?
- 7. SharedPreferencesの代わりにDataLayersを使用することに不利な点はありますか?
- 8. リンクの代わりにボタンを使用する利点はありますか?
- 9. Javascriptで文字列の代わりに 'enum'型を使用することには何か問題はありますか?
- 10. この文字列リフォーマッタにsubstrの代わりに何を使用しますか?
- 11. com.google.appengine.repackaged *の代わりに何を使用する必要がありますか?
- 12. AddPortの代わりに何を使用する必要がありますか?
- 13. 文字列の代わりにComponentResourceKeyをリソースキーとして使用するのはいつですか?
- 14. typescriptで常に.tsxの代わりに.tsxを使用することには何か欠点がありますか?
- 15. 2つのWSUSサーバーを使用することには何らかの欠点がありますか?
- 16. 文字列の代わりにstringstreamを使用しますか? - C++
- 17. CustomTreeItem使用してノードの代わりに、文字列
- 18. Kinect SDK 2.0の本文インデックスの代わりにボディIDを使用する利点はありますか
- 19. HTMLファイルの代わりに文字列テンプレートを使用する
- 20. 文字列の代わりに変数を使用する
- 21. ファイルの代わりに文字列を一括挿入に渡す方法はありますか?
- 22. forループの代わりにFluxを使用すると、どんな利点がありますか?
- 23. ES2015シンボルは、文字列の代わりに固有の定数値として使用できますか?
- 24. コンテキスト変数の代わりにこれをjavascriptで使用することに問題がありますか?
- 25. プレーンストリングの代わりにObjectIdを使用する利点は何ですか?
- 26. springの代わりにthymeleaf jspを使用する利点は何ですか
- 27. DATE列の代わりにIDを使用する場合の欠点はありますか?
- 28. シンボルと特殊文字の代わりにPHPの文字列
- 29. 文字列の先頭と文字列の終わりから一重引用符を削除します。
- 30. ビジュアルスタジオ2010でSQLサーバーの代わりにMYSQLを選択することに欠点はありますか?
すべてのログインが一意なのはなぜですか?しかし – hakre