Moleculer sequlize получает данные таблиц по соединениям

Я использую микросервисы moleculer и базу данных postgres с модулями moleculer-db-adapter-sequelize и Sequelize. Каждый сервис имеет одну модель таблицы. Например, user.service.js имеет модель пользовательской таблицы, application.service.js имеет модель таблицы приложений. Я хочу получить данные из обеих таблиц, используя соединение. Я попытался с запросом на соединение, но он возвращает

Отношение не существует

Как сделать соединения двух моделей в архитектуре молекулы?


person Sunny G    schedule 19.06.2021    source источник


Ответы (1)


moleculer-db работает по принципу «один сервис — одна таблица». Вы должны написать свою собственную службу БД для реализации нескольких моделей и объединений. На уровне Moleculer populate можно использовать для объединения данных между сервисами.

Пример заполнения:

    settings: {
        fields: ["_id", "author", "article", "body", "createdAt", "updatedAt"],
        populates: {
            "author": {
                action: "users.get",
                params: {
                    fields: ["_id", "username", "bio", "image"]
                }
            }
        }
    },
person Icebob    schedule 21.06.2021
comment
Можете ли вы предоставить пример кода для заполнения между двумя службами - person Sunny G; 25.06.2021
comment
Я добавил пример. - person Icebob; 25.06.2021