ObjectIDの生成はクライアント/ドライバーに任せる必要があります。これにより、生成されたIDは、時間、サーバー、プロセスなど、多くのものの中で一意になります。標準のObjectIDを使用するということは、ドライバーによって実装されるメソッド(getTimestamp()など)が機能することも意味します。
ただし、自分のを使用することを検討している場合 _idフィールドのIDのタイプ(つまり、標準のObjectIDタイプではない)の場合、実行可能な選択になります。たとえば、Twitterユーザーに関する情報を保存する場合は、ユーザーのTwitterIDを_id値として使用するのが理にかなっています。個人的には、ObjectIDタイプにできるだけ依存しないようにしています。コレクションには、各ドキュメントを一意に識別するフィールドがすでに各ドキュメントに含まれていることがよくあります。