Loopbackjs 环回中的动态模型

Loopbackjs 环回中的动态模型,loopbackjs,strongloop,Loopbackjs,Strongloop,如何在环回中创建动态模型,而不是对所有模型使用命令“lb model” 例如: 如果我想用几乎相同的属性创建30个模型,那么我将很难一次又一次地创建所有30个模型和那些相应的属性 是否可以创建模型并使用环回将其迭代到另一个模型。请分享您的答案。好吧,我还是个新手,但我认为,您可以通过编程轻松创建任意数量的动态模型。例如,首先,在boot目录中创建一个引导脚本,例如:server\boot\dynamic models.js,然后使用以下代码创建一个动态模型: const-app=require(

如何在环回中创建动态模型,而不是对所有模型使用命令“lb model”

例如: 如果我想用几乎相同的属性创建30个模型,那么我将很难一次又一次地创建所有30个模型和那些相应的属性


是否可以创建模型并使用环回将其迭代到另一个模型。请分享您的答案。

好吧,我还是个新手,但我认为,您可以通过编程轻松创建任意数量的动态模型。例如,首先,在
boot
目录中创建一个引导脚本,例如:
server\boot\dynamic models.js
,然后使用以下代码创建一个动态模型:

const-app=require('../server');
const dbDataSource=app.datasources.db;
常量模式={
“姓名”:{
“类型”:“字符串”,
“必需”:true
},
“电子邮件”:{
“类型”:“字符串”,
“必需”:true
}
};
const MyDynamicModel=dbDataSource.createModel('MyDynamicModel',schema);
应用模型(MyDynamicModel);
app
是从
projectroot/server/server.js
导出的,因此您可以在脚本中要求它

此外,模式是可选的(对于noSql/mongo)。一旦创建了动态模型,就可以访问api资源管理器并查看动态创建的模型/端点

如果要创建更多模型,则只需执行循环并创建模型,例如:

constmodels=['ModelOne','ModelTwo'];
//或从其他文件导出并在此处导入,即:
//const schema=require('exported-from-other-file');
//const models=require('exported-from-other-file');
models.forEach(model=>{
app.model(dbDataSource.createModel(model,schema));
});
更新:多个模型动态注册的另一个工作示例:

//项目根目录/common/dynamic/index.js
module.exports.schema={
“姓名”:{
“类型”:“字符串”,
“必需”:true
},
“电子邮件”:{
“类型”:“字符串”,
“必需”:true
}
};
module.exports.models=[
“ModelOne”,
“模式二”
];
//项目根目录/server/boot/dynamic-models.js
const app=require(“../server”);
const dbDataSource=app.datasources.db;
const{schema,models}=require('../../common/dynamic');
模型。forEach(
model=>app.model(dbDataSource.createModel(model,schema))
);
现在,要使用相同的模式添加任何动态模型,只需在模型数组中添加模型名称即可。这是经过测试的,工作正常: