Добавление внешнего ключа к модели с использованием chicagoboss?

Я новичок в босса Эрланга и Чикаго. Я следовал документации API босса Чикаго. Я работал с Python и Django ранее. Теперь в Чикаго мы можем добавить внешний ключ в модели.

Это моя модель.

модель: анатомия.erl

-module(anatomy, [Id,
                 UID,
                 Name,
                 Property,
                 Ratio::float(),
                 Value::integer(),
                 Pieces::float(),
                 Status]).
-compile(export_all).

Есть другая модель.

модель: видов.эрл

-module(species, [Id,
                 UID,
                 Name,
                 Property,
                 Anatomy,
                 Morphology   
                 Gender]).
-compile(export_all).

Я должен добавить Anatomy в качестве внешнего ключа в species Таблица.

2 ответа

модель: анатомия.erl

-module(anatomy, [Id,
             UID,
             Name,
             Property,
             Ratio::float(),
             Value::integer(),
             Pieces::float(),
             Status]).
-has({species,many}).
-compile(export_all).

модель: видов.эрл

-module(species, [Id,
             UID,
             Name,
             Property,
             AnatomyI,
             Morphology   
             Gender]).
-belongs_to(anatomy).
-compile(export_all).

Я не совсем уверен, что понимаю ваш вопрос, так что простите, если это пустая трата вашего времени. Но... Я думаю, вам нужно переименовать свойство в anatomy.erl в AnatomyId, а затем использовать ассоциации -belongs и -has:

module(species, [Id,
                 UID,
                 Name,
                 Property,
                 AnatomyId,
                 Morphology   
                 Gender]).
-compile(export_all).
-belongs_to(anatomy).

-Belongs_to(анатомия) добавит функцию anatomy(), которая возвращает BossRecord типа анатомии с id = AnatomyId.

Это не создаст отношения в Mongo, но может дать вам поведение, которое вы ищете

Другие вопросы по тегам