MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Вградените обекти на MongoDB нямат идентификатор (нулева стойност)

MongoDB CRUD операции (insert , update , find , remove ) всички работят изключително върху документи от най-високо ниво - въпреки че, разбира се, можете да филтрирате по полета във вградените документи. Вградените документи винаги се връщат в родителския документ.

_id полето е задължително поле на родителския документ и обикновено не е необходимо или присъства във вградените документи. Ако имате нужда от уникален идентификатор, със сигурност можете да ги създадете и можете да използвате _id поле, за да ги съхранявате, ако това е удобно за вашия код или вашия умствен модел; по-често те са наименувани на това, което представляват (напр. „потребителско име“, „otherSystemKey“ и т.н.). Нито самият MongoDB, нито някой от драйверите автоматично ще попълнят _id поле освен в документа от най-високо ниво.

По-конкретно в Java, ако искате да генерирате стойности на ObjectId за _id поле във вградените документи, можете да го направите с:

someEmbeddedDoc._id = new ObjectId();


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb ред на сортиране на _id

  2. Какъв е добър избор на база данни за малко .NET приложение?

  3. Вземете стойности като масив от елементи след $lookup

  4. Управление на множество технологии за бази данни с ClusterControl

  5. Процент на условията ИЛИ, съответстващи в mongodb