Não, não é nada ruim e, de fato, o
ObjectId
embutido é bastante considerável dentro do índice, portanto, se você acredita que tem algo melhor, é mais que bem-vindo a alterar o valor padrão do _id
campo para o que quer que seja. Mas, e este é um grande mas , há algumas considerações ao decidir se afastar do
ObjectId
formulado padrão , especialmente ao usar os _ids de incremento automático, conforme mostrado aqui:https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field Multi threading não é um problema tão grande porque
findAndModify
e os bloqueios atômicos podem realmente cuidar disso, mas então você simplesmente encontra seu primeiro problema. findAndModify
não é a função mais rápida nem a mais leve e houve quedas significativas de desempenho observadas ao usá-lo regularmente. Você também deve considerar a sobrecarga de fazer isso sozinho, mesmo sem
findAndModify
. Para cada inserção, você precisará de uma consulta extra. Imagine ter um id exclusivo que você precisa consultar a exclusividade de cada vez que deseja inserir. Eventualmente, sua taxa de inserção cairá para um rastreamento e seu tempo de bloqueio aumentará. Claro que o
ObjectId
é realmente bom em ser único sem ter que verificar ou formular sua própria singularidade tocando no banco de dados antes da inserção, portanto, não tem essa sobrecarga. Se você ainda sentir que um _id inteiro se encaixa no seu cenário, vá em frente, mas tenha em mente a sobrecarga descrita acima.