使用chicagoboss将外键添加到模型中?

时间:2014-07-08 09:30:54

标签: erlang chicagoboss

我是二郎和芝加哥老板的新手。我跟着芝加哥老板的API文档。我之前一直在使用Python和Django。现在在芝加哥老板我们可以在模型中添加外键。

这是我的模特。

模型:anatomy.erl

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

还有另一种模式。

模型:species.erl

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

我必须在Anatomy表中添加species作为外键。

2 个答案:

答案 0 :(得分:3)

型号: anatomy.erl

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

型号: species.erl

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

答案 1 :(得分:1)

我不完全确定我理解你的问题,如果这是浪费你的时间,请原谅我。但是......我认为您需要将anatomy.erl中的属性重命名为AnatomyId,然后使用-belongs和-has关联:

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

-belongs_to(anatomy)将添加一个函数,anatomy(),它返回解剖学类型的BossRecord,id = AnatomyId。

这不会在Mongo中创建关系,但可能会为您提供您正在寻找的行为