O que é chave primária no MongoDB?
No MongoDB, o campo _id é a chave primária da coleção para que cada documento possa ser identificado exclusivamente na coleção. O campo _id contém um valor ObjectID exclusivo.
Por padrão, ao inserir documentos na coleção, se você não adicionar um nome de campo com _id no nome do campo, o MongoDB adicionará automaticamente um campo de ID de objeto, conforme mostrado abaixo
Ao consultar os documentos em uma coleção, você pode ver o ObjectId de cada documento da coleção.
Se você quiser garantir que o MongoDB não crie o campo _id quando a coleção for criada e se quiser especificar seu próprio id como o _id da coleção, você precisa definir isso explicitamente ao criar a coleção.
Ao criar explicitamente um campo de id, ele precisa ser criado com _id em seu nome.
Vejamos um exemplo de como podemos conseguir isso.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Explicação do código:
- Estamos assumindo que estamos criando o primeiro documento na coleção e, portanto, na instrução acima ao criar a coleção, definimos explicitamente o campo _id e definimos um valor para ele.
Se o comando for executado com sucesso e agora usar o comando find para exibir os documentos na coleção, o seguinte resultado será mostrado
Resultado:
A saída mostra claramente que o campo _id que definimos ao criar a coleção agora é usado como a chave primária para a coleção.