Модель MongoDB
Документ "Модель MongoDB" відповідає за опис структури документа колекції NoSQL
бази даних MongoDB
. Структура
документа складається з переліку полів, звʼязків з документами інших колекцій, обмежень на обробки документів тощо.
Архітектура
При потребі наявності колекції в NoSQL
бази даних MongoDB
необхідно створити документ "Модель MongoDB" з описом
необхідної структури документа.
Документ "Модель MongoDB" повинен бути зареєстрований в документі "Реєстр" предметної області, яка в свою чергу, повинна бути зареєстрована в відповідному сервісі, включеному до бізнес-схеми. Це гарантує, що при запуску ядра обчислень буде завантажений опис моделі MongoDB. При запуску програми веб-сервера, ядро обчисл ень завантажить бізнес-схему в сервіс бізнес-схеми. На етапі запуску зʼєднувача з MongoDB, зʼєднувач отримає від сервіса бізнес-схеми повний перелік документів, з якими здійснить необхідні маніпуляції в тому числі і створення колекцій в базі даних MongoDB.
Для успішного використання MongoDB
необхідно включити роботу з MongoDB
в конфігураційному файлі, та, за потреби додати
опції конфігурації роботи зʼєднувача з MongoDB базою даних.
Модель може містити як властивості документа, так і хуки, тригери та інші методи. Рекомендується утримувати методи окремо від моделі, проте зв'язувати хуки та тригери напряму з моделлю.
Склад
Опис складу документа "Модель MongoDB" знаходиться в активній розробці.
Аргумент агентів функціональності
Аргумент агентів функціональності являє собою обʼєкт з переліком агентів:
type IBaseAgent = {
// agent functionality description
}
export type Agents = {
baseAgent: IBaseAgent;
};
де:
baseAgent
- агент з переліком просторів імен функціональності, які надають функціональні компоненти ядра обчислень.
Агент базових операцій знаходиться в активній розробці та надалі, буде надавати функціонал базового опису моделей 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
});