环回父模型 - 如何设置属性和创建子模型

loopback parent model - how to set properties and create child models

我有几个环回模型,我想为它们添加共享功能。 我不太确定我是否理解 loopback 的 extend 方法,但我创建了一个 Dictionary 模型,将其他模型 base 属性 设置为 Dictionary 并卡在了这里。

基本上我需要创建一个子模型的实例,获取一些数据并构建一个散列。然后我计划在启动脚本中多次调用 app.models.ChildModel.createHash() 来为每个模型创建字典。

我不确定从哪里开始.. 我如何将子 class 名称(或实例)传递给父?我显然需要它来查询数据。

我为具体的 Regions 模型制定了一个可行的解决方案

module.exports = function(Regions){
var countriesHash={};
Regions.setup=function(next){
    Regions.find({where:{type:'Country'}}, function(err, countries){
        countries.forEach(function(country){
            countriesHash[country.id]=country;
        });
        console.log('hash built');
        next();
    });
};

但我想将其重构为抽象 Dictionary class 并在具体模型中设置一些属性,例如子名称和 where

您可以使用 mixin (here) 将共享功能放在那里并在模型中使用。

你也可以给他们一些选择。