我在我的loopback应用程序中重命名了许多模型和表,但是现在我必须迁移到这个模型定义.
我需要运行autoMigrate().它必须在dataSource对象上运行,但文档没有提供有关获取其中一个的帮助.
到目前为止,我已经创建了一个新脚本/boot:
var loopback = require('loopback');
var app = module.exports = loopback();
app.loopback.DataSource.automigrate()
Run Code Online (Sandbox Code Playgroud)
但是这个数据源对象不包含autoMigrate函数......
我已经尝试运行strongloop arc来使用那里存在的自动迁移按钮,但页面崩溃时出现此错误:
Uncaught Error: [$injector:modulerr] Failed to instantiate module Arc due to:
Error: [$injector:modulerr] Failed to instantiate module Metrics due to:
Error: [$injector:nomod] Module 'Metrics' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.3.20/$injector/nomod?p0=Metrics
at http://localhost:56073/scripts/vendor/angular/angular.js:63:12
at http://localhost:56073/scripts/vendor/angular/angular.js:1778:17
at ensure (http://localhost:56073/scripts/vendor/angular/angular.js:1702:38) …Run Code Online (Sandbox Code Playgroud) 我如何在Loopback模型中使用聚合函数?如果我有一个由mysql数据库支持的模型,我可以让Model1与Model2具有hasMany关系(具有给定的数字属性),并且在Model1中有一个属性可以从Model2中获取该字段的SUM吗?
{
"Model1" : {
"Relations" : {
"model2s" : {
"type": "hasMany",
"model": "Model2",
"foreignKey": "model1Id"
}
},
"Properties" : {
"total" : {
"type": "Number"
[SUM of Model2 'amount' field]
}
}
},
"Model2" : {
"Relations" : {
"model1s" : {
"type": "belongsTo",
"model": "Model1",
"foreignKey": "model1Id"
}
},
"Properties" : {
"amount" : {
"type": "Number"
}
}
}
}
在另一个问题上,将条件放入模型的正确方法是什么,以便getter返回的值取决于某个表达式?我想从关系中返回一个值(如果存在),否则返回主模型上存在的值.
我试过这个(伪代码):
module.exports = function(MyModel) {
MyModel.on('attached', function() {
var app = MyModel.app;
MyModel.getter['total'] = function() … 我已经为我的环境定义了几个使用Datasource"db"(mysql)的模型.
有没有办法将几个数据源附加到这些模型,所以我可以对不同的数据库执行REST操作?
即:GET/api/Things?ds ="db"
GET/api/Things?ds ="anotherdb"
GET/api/Things(将使用默认ds)
我想知道是否有办法从远程方法中返回特定的HTTP状态代码.
我可以看到有一个回调函数,我们可以传递一个错误对象,但我们如何定义HTTP状态代码?
是否有一种内置的方法来自动增加模型的属性值是Strongloop loopback?这个模型有一个名为orderNumber的属性,我希望它从1开始,每次创建一个新模型时递增1.此模型将持久保存到mongo DB.如果Strongloop loopback没有内置方式,那么使用javaScript,Node和mongoDB会被认为是最佳实践吗?
谢谢,
如何将内置模型(如用户,角色,用户角色映射等)移动到我们创建的数据库而不是默认数据源:db?内置模型未在Arc中列出.
我已经尝试创建一个继承这些基本模型的新模型.但是,数据不会保存到新模型中.
请建议......我已经坐了好几个星期了.谢谢
如何在POST API的环回中传递自定义请求标头(X-TRANSACTION-ID,X_USER_ID).我们在数据源文件中有标题部分.但是我如何让它变得动态呢?我正在使用远程方法.向上下文对象的请求添加标头似乎没有任何区别.只有将标头添加到数据源文件中时,它们才会生效.
我为Node.js使用LoopbackJS框架(与Express相同,因为它基于Express).我无法设置React服务器端渲染.我按照这篇文章,在这里回答Stackoverflow和其他文章,但不起作用.
Babel文档很悲惨,没有例子,"试着猜测"的风格.这是他们提供的关于如何动态渲染React的唯一信息:
$ npm install -g babel-core
require("babel-core/register");
Run Code Online (Sandbox Code Playgroud)
具有扩展名.es6,.es,.jsx和.js的节点所需的所有后续文件将由Babel转换.polyfill中指定的polyfill也是自动需要的.
但它不起作用.
顺便说一句,其他文章建议使用require("babel/register").有什么不同?我试过了两个.结果是一样的 - SyntaxError: Unexpected token.
这是我的代码:
这是client/js/components.js:
var React = require('react');
var ReactDOM = require('react');
var Form = React.createClass({
render: function() {
return (
<form action="" method="post" id="login-form">
<div><input type="text" id="login" placeholder="Login" /></div>
<div><input type="text" id="pass" placeholder="Password" /></div>
<button id="sbm-btn">{login}</button>
</form>
);
}
});
exports.Form = Form;
Run Code Online (Sandbox Code Playgroud)
这是server/boot/routes.js:
require("babel-core/register"); // <== I tried to include it here, doesn't work
var React …Run Code Online (Sandbox Code Playgroud) Loopback使用序列号作为模型ID.我可以在服务器端使用自己的ID生成器吗?我该怎么做呢?
使用Relay/GraphQL和Loopback的任何工作解决方案?我想我正在考虑的一些事情是如何访问数据库(因为我假设通过ORM是不可能的)以及如何在使用Relay/GraphQL时利用api生成器...
strongloop ×10
loopbackjs ×8
loopback ×3
node.js ×2
babeljs ×1
graphql ×1
javascript ×1
mongodb ×1
reactjs ×1
relay ×1
rest ×1