sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB Embedded Objects nemají žádné ID (hodnota null)

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


  1. Složené dotazy s Redis

  2. Importujte data do svých nově vytvořených instancí MongoDB

  3. Jak nainstalovat MongoDB do systému Windows?

  4. Podmíněná částka $ v MongoDB