MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Gli oggetti incorporati MongoDB non hanno ID (valore nullo)

Operazioni MongoDB CRUD (insert , update , find , remove ) operano tutti esclusivamente su documenti di primo livello, anche se ovviamente puoi filtrare per campi nei documenti incorporati. I documenti incorporati vengono sempre restituiti all'interno del documento principale.

Il _id campo è un campo obbligatorio del documento principale e in genere non è necessario o presente nei documenti incorporati. Se hai bisogno di un identificatore univoco, puoi certamente crearli e puoi utilizzare il _id campo per memorizzarli se è conveniente per il tuo codice o il tuo modello mentale; più in genere, prendono il nome da ciò che rappresentano (ad es. "nome utente", "altra chiave di sistema", ecc.). Né MongoDB stesso, né alcuno dei driver compilerà automaticamente un _id campo tranne nel documento di primo livello.

In particolare in Java, se desideri generare valori ObjectId per _id campo nei documenti incorporati, puoi farlo con:

someEmbeddedDoc._id = new ObjectId();