Перейти до основного вмісту

Модель MongoDB

інформація

Документ "Модель MongoDB" відповідає за опис структури документа колекції NoSQL бази даних MongoDB. Структура документа складається з переліку полів, звʼязків з документами інших колекцій, обмежень на обробки документів тощо.

Архітектура

При потребі наявності колекції в NoSQL бази даних MongoDB необхідно створити документ "Модель MongoDB" з описом необхідної структури документа.

Документ "Модель MongoDB" повинен бути зареєстрований в документі "Реєстр" предметної області, яка в свою чергу, повинна бути зареєстрована в відповідному сервісі, включеному до бізнес-схеми. Це гарантує, що при запуску ядра обчислень буде завантажений опис моделі MongoDB. При запуску програми веб-сервера, ядро обчислень завантажить бізнес-схему в сервіс бізнес-схеми. На етапі запуску зʼєднувача з MongoDB, зʼєднувач отримає від сервіса бізнес-схеми повний перелік документів, з якими здійснить необхідні маніпуляції в тому числі і створення колекцій в базі даних MongoDB.

mongo-model-arch.svg

warning

Для успішного використання MongoDB необхідно включити роботу з MongoDB в конфігураційному файлі, та, за потреби додати опції конфігурації роботи зʼєднувача з MongoDB базою даних.

порада

Модель може містити як властивості документа, так і хуки, тригери та інші методи. Рекомендується утримувати методи окремо від моделі, проте зв'язувати хуки та тригери напряму з моделлю.

Склад

небезпека

Опис складу документа "Модель MongoDB" знаходиться в активній розробці.

Аргумент агентів функціональності

Аргумент агентів функціональності являє собою обʼєкт з переліком агентів:

type IBaseAgent = {
// agent functionality description
}

export type Agents = {
baseAgent: IBaseAgent;
};

де:

  • baseAgent - агент з переліком просторів імен функціональності, які надають функціональні компоненти ядра обчислень.
warning

Агент базових операцій знаходиться в активній розробці та надалі, буде надавати функціонал базового опису моделей MongoDB, до прикладу опис структури часових відміток - createAt, updateAt тощо.

Реалізація

небезпека

Опис реалізації опису моделі MongoDB бази даних знаходиться в активній розробці.

Реєстрація

Щоб успішно використовувати модель MongoDB для впровадження змін в структурі бази даних MongoDB документ "Модель MongoDB" повинен бути зареєстрований в документі "Реєстр" цієї предметної області. Наприклад для предметної області - агрегат "Користувачі", необхідно в опис документів функції setRegistry для встановлення посилання на модель MongoDB та інші компоненти модуля:

import { setRegistry } from '@x-fiber/proton';
import { BusUsersAggMongoModel } from './BusUsers.agg.mongo-model';

export const BusUsersAggRegistry = setRegistry<'BusUsersAgg'>('BusUsersAgg', {
mongo: {
name: 'BUS_USERS_AGG',
model: BusUsersAggMongoModel
},
// ... other documents
});