L'incrémentation de valeurs ou de séquences nécessite un point de référence central qui est un facteur limitant pour la mise à l'échelle. Les ObjectID sont conçus pour être des ID raisonnablement uniques qui peuvent être générés indépendamment dans un environnement distribué avec des valeurs croissantes de manière monotone (un composant d'horodatage principal) pour un ordre approximatif.
Les ID d'objet sont généralement générés par les pilotes MongoDB, il n'est donc pas nécessaire de faire un aller-retour de serveur pour trouver le prochain _id
disponible ou attendre le résultat serveur d'une opération d'insertion pour savoir quel _id
a été alloué. Si un pilote ou une application cliente insère un document sans inclure un _id
valeur, un ObjectID sera généré par le mongod
serveur.
Il n'y a aucune obligation stricte d'utiliser des ObjectID dans MongoDB :vous pouvez fournir votre propre _id
s'il existe une clé unique plus naturelle pour vos données ou si vous préférez un autre format de clé primaire.