Operace MongoDB CRUD (insert , update , find , remove ) všechny fungují výhradně na dokumentech nejvyšší úrovně – i když samozřejmě můžete filtrovat podle polí ve vložených dokumentech. Vložené dokumenty jsou vždy vráceny v rámci nadřazeného dokumentu.
_id pole je povinné pole nadřazeného dokumentu a obvykle není nutné ani se nevyskytuje ve vložených dokumentech. Pokud požadujete jedinečný identifikátor, určitě si ho můžete vytvořit a můžete použít _id pole pro jejich uložení, pokud je to vhodné pro váš kód nebo váš mentální model; typičtěji jsou pojmenovány podle toho, co představují (např. „uživatelské jméno“, „jinýSystemKey“ atd.). Ani MongoDB, ani žádný z ovladačů automaticky nevyplní _id pole kromě dokumentu nejvyšší úrovně.
Konkrétně v Javě, pokud chcete generovat hodnoty ObjectId pro _id pole ve vložených dokumentech, můžete tak učinit pomocí:
someEmbeddedDoc._id = new ObjectId();