Dwa powody:
-
Każdy ObjectId jest generowany lokalnie na kliencie. Różni klienci nie koordynują generowanych przez siebie wartości. Dlatego jest możliwe że istnieją dwa klienty, które generują te same liczby losowe, a tym samym generują dokładnie te same identyfikatory ObjectId. Bardzo mało prawdopodobne, ale możliwe, stąd „prawdopodobnie unikalne” sformułowanie.
-
Algorytm generowania ObjectId określa użycie 3-bajtowego licznika, który służy do rozróżniania wartości generowanych w tej samej sekundzie. Jeśli wygenerujesz więcej niż 16 milionów ObjectIds w tej samej sekundzie, ten licznik się przepełni, a klient, którego używasz, zacznie generować ObjectIds, które zostały już wygenerowane przed chwilą.