Incrementar valores ou sequências requer um ponto de referência central que é um fator limitante para a escala. ObjectIDs são projetados para serem IDs razoavelmente exclusivos que podem ser gerados independentemente em um ambiente distribuído com valores crescentes monotonicamente (um componente de carimbo de data/hora principal) para ordenação aproximada.
Os ObjectIDs são normalmente gerados por drivers MongoDB, portanto, não há necessidade de fazer uma viagem de ida e volta ao servidor para encontrar o próximo
_id
disponível ou espere o resultado do servidor de uma operação de inserção para saber o que _id
foi alocado. Se um driver ou aplicativo cliente inserir um documento sem incluir um _id
valor, um ObjectID será gerado pelo mongod
servidor. Não há requisito estrito para usar ObjectIDs no MongoDB:você pode fornecer seu próprio
_id
valores se houver uma chave exclusiva mais natural para seus dados ou se você preferir um formato de chave primária alternativo.