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

Поддокументите на mongodb еквивалентни ли са на подколекциите на Firestore?

Колко дейности може да има един проект? Ако няма ограничение, тогава е по-добре да създадете колекция на основно ниво за дейности. В MongoDB максималният размер на BSON документ е 16 MB . Поради това може да не успеете да съхраните всички проекти и техните дейности в един документ (организационен документ).

Бих създал 3 колекции, а именно - организации, проекти и дейности.

  1. Всяка организация трябва да има документ в организации колекция, подобна на тази, която имате във Firestore.
  2. Всеки проект трябва да има документ в projects колекция, съдържаща поле "organizationID", така че можете да правите заявки за проекти на конкретна организация, като използвате техния ID. Това е еквивалент на документ във вашата подколекция от проекти. Всеки проект трябва също да има свой собствен уникален идентификатор.
  3. Всяка дейност трябва да има документ в активности колекция, съдържаща поле "projectID", така че дейностите на конкретен проект могат да бъдат извлечени.

Добавих тези допълнителни organizationID , projectID полета, въпреки че имате _id само в случай, че искате да имате идентификатори на документи на Firestore там за по-лесни успоредни заявки.

Не е нужно да се притеснявате за 16 MB ограничаване на размера на документа по този начин и ще бъде по-лесно да правите заявки за проекти и дейности, стига да имате правилните идентификатори.

Дейности по запитване на определен проект:

await db.collection("activities").find({projectID: "myProjectID"}).toArray()

След това зависи от вас как искате да пишете заявки с прогнози, агрегиране и т.н.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не може да се свърже с mLab база данни от самостоятелно хостван Parse

  2. Защо MongoDB не използва Index Intersection?

  3. MongoDB текстов индексиращ масив обекти колони

  4. MongoDB агрегиране - стойности на полета на проекта като полета

  5. Съхраняване на Json обект в ключ Mongoose String