Anda harus menyerahkan pembuatan ObjectID ke klien/driver. Ini memastikan bahwa ID yang dihasilkan unik di antara banyak hal, seperti waktu, server, dan proses. Menggunakan ObjectID standar juga berarti bahwa metode yang diterapkan oleh driver (seperti getTimestamp()) berfungsi.
Namun, jika Anda berpikir untuk menggunakan milik Anda jenis ID untuk bidang _id (yaitu, bukan jenis ObjectID standar), maka itu membuat pilihan yang layak. Misalnya, jika Anda ingin menyimpan informasi tentang pengguna twitter, maka menggunakan ID twitter pengguna sebagai nilai _id sangat masuk akal. Secara pribadi, saya mencoba untuk mengandalkan jenis ObjectID sesedikit mungkin, karena seringkali koleksi akan memiliki bidang di setiap dokumen yang secara unik mengidentifikasi setiap dokumen.