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();