Cos'è la chiave primaria in MongoDB?
In MongoDB, campo _id come chiave primaria per la raccolta in modo che ogni documento possa essere identificato in modo univoco nella raccolta. Il campo _id contiene un valore ObjectID univoco.
Per impostazione predefinita, quando si inseriscono documenti nella raccolta, se non si aggiunge un nome di campo con _id nel nome del campo, MongoDB aggiungerà automaticamente un campo ID oggetto come mostrato di seguito
Quando si esegue una query sui documenti in una raccolta, è possibile visualizzare l'ObjectId per ogni documento nella raccolta.
Se vuoi assicurarti che MongoDB non crei il campo _id quando viene creata la raccolta e se desideri specificare il tuo id come _id della raccolta, devi definirlo esplicitamente durante la creazione della raccolta.
Quando si crea in modo esplicito un campo id, è necessario crearlo con _id nel nome.
Diamo un'occhiata a un esempio su come possiamo ottenere questo risultato.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Spiegazione del codice:
- Supponiamo di creare il primo documento nella raccolta e quindi nell'istruzione precedente durante la creazione della raccolta, definiamo esplicitamente il campo _id e ne definiamo un valore.
Se il comando viene eseguito correttamente e ora si utilizza il comando find per visualizzare i documenti nella raccolta, verrà visualizzato il seguente output
Produzione:
L'output mostra chiaramente che il campo _id che abbiamo definito durante la creazione della raccolta è ora utilizzato come chiave primaria per la raccolta.