如何在strongloop的loopback.io中删除模型?
我见过somewhere命令 persistedModel.destroy()
但是当我表现出来的时候 slc persistedModel.destroy()
我得到命令未找到错误.
这是令人抓狂的,我如何获得一个环回模型,以便我可以以编程方式使用它?我有一个名为"通知"的持久模型.我可以使用REST资源管理器与它进行交互.我希望能够在服务器中使用它,即Notification.find(...).我执行app.models()并可以看到它列出.我这样做了:
var Notification = app.models.Notification;
Run Code Online (Sandbox Code Playgroud)
得到一个大胖子"未定义".我这样做了:
var Notification = loopback.Notification;
app.model(Notification);
var Notification = app.models.Notification;
Run Code Online (Sandbox Code Playgroud)
和另一个大胖子"未定义".
请解释我所要做的所有事情,以获得我使用的模型:
slc loopback:model
Run Code Online (Sandbox Code Playgroud)
提前致谢
我已经工作了几个小时而且我完全迷失了,因为环回文档没有帮助.
我正在尝试将应用程序逻辑编写到模型中.该文档就在这里.不幸的是,除了将外部值传递给远程方法并再次返回之外,该示例并未演示任何有用的内容.我想了解如何在此上下文中运行查询并访问模型数据,但我已搜索了几个小时,甚至无法找到有关这些简单任务的文档.也许我只是在寻找错误的地方.有人可以帮忙吗?
我正在尝试通过loopback api explorer对postgres数据库进行查询:
{"where": {"archived_at":{ "neq": null }}}
Run Code Online (Sandbox Code Playgroud)
但是,我只获得archived_at为null的结果?
我有这样的模特 -
{
"name": "MakeCallTestConfiguration",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"id": {
"type": "number",
"id": true,
"generated": true
},
"destination": {
"type": "string",
"required": true
},
"clientId": {
"type": "number",
"required": true
},
"logTime":{
"type" : "date",
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
Run Code Online (Sandbox Code Playgroud)
对于"logTime",如何自动生成时间戳?我的意思是
"TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"
我正在创建由PostgreSQL支持的rest api.我喜欢Strongloop Loopback框架,它简化了api开发.但它的内置orm与续集相比如何?哪些高级功能已经作为专用的sql orm继承,在环回中缺少?也许最好继续使用sequelize,并使用一些其他的api助手而不是monolitic loopback框架?
我使用Strongloop的Loopback作为REST框架和ORM.我想将TypeScript用于我的业务逻辑.但是,Loopback需要具有特定形状的JavaScript来支持其框架.例如:
module.exports = function(Person){
Person.greet = function(msg, cb) {
cb(null, 'Greetings... ' + msg);
}
Person.remoteMethod(
'greet',
{
accepts: {arg: 'msg', type: 'string'},
returns: {arg: 'greeting', type: 'string'}
}
);
};
Run Code Online (Sandbox Code Playgroud)
什么是生成上述JavaScript代码的TypeScript代码?
我正在尝试在进行集成测试时使用内存连接器作为数据源.但似乎总是连接到mongodb-datasource.
我所做的一个主要工作是将每个模型的数据源更改为内存.但必须有更好的方法来做到这一点.我正在从gulp任务中运行我的测试.我的roflmao模型 - 记忆 - 黑客:
var models = require('../server/model-config.json');
for (var key in models) {
var model = loopback.getModel(key);
loopback.configureModel(model, {dataSource: memory});
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法更改应用程序的数据源?或者我是否必须更改每个模型的数据源..?
这样做的一种方法是在测试期间更改环境变量,但到目前为止,没有运气..我正在使用gulp-task预处理执行此操作.
希望通过更改环境变量,它将使用datasources.integrationtesting.js,其中我将内存作为数据源.
我的任务:
return gulp.src('integration-tests/*.js')
.pipe($.preprocess({context: {NODE_ENV: 'integrationtesting'}}))
.pipe($.mocha())
Run Code Online (Sandbox Code Playgroud)
我正在使用:
感谢任何评论.. :)
如何将内置模型(如用户,角色,用户角色映射等)移动到我们创建的数据库而不是默认数据源:db?内置模型未在Arc中列出.
我已经尝试创建一个继承这些基本模型的新模型.但是,数据不会保存到新模型中.
请建议......我已经坐了好几个星期了.谢谢
我在Angular中有一个装饰器,它将扩展$ log服务的功能,我想测试它,但我没有看到这样做的方法.这是我的装饰者的存根:
angular.module('myApp')
.config(function ($provide) {
$provide.decorator('$log', ['$delegate', function($delegate) {
var _debug = $delegate.debug;
$delegate.debug = function() {
var args = [].slice.call(arguments);
// Do some custom stuff
window.console.info('inside delegated method!');
_debug.apply(null, args);
};
return $delegate
}]);
});
Run Code Online (Sandbox Code Playgroud)
请注意,这基本上覆盖了该$log.debug()方法,然后在执行一些自定义操作后调用它.在我的应用程序中这是有效的,我'inside delegated method!'在控制台中看到了消息.但在我的测试中,我没有得到那个输出.
我该如何测试我的装饰器功能?
具体来说,我如何注入我的装饰器,以便它实际装饰我的$log模拟实现(见下文)?
这是我目前的测试(摩卡/柴,但这不是真正相关):
describe('Log Decorator', function () {
var MockNativeLog;
beforeEach(function() {
MockNativeLog = {
debug: chai.spy(function() { window.console.log("\nmock debug call\n"); })
};
});
beforeEach(angular.mock.module('myApp'));
beforeEach(function() {
angular.mock.module(function ($provide) {
$provide.value('$log', MockNativeLog);
});
}); …Run Code Online (Sandbox Code Playgroud) loopbackjs ×9
strongloop ×8
javascript ×3
node.js ×3
angularjs ×1
postgresql ×1
rest ×1
sequelize.js ×1
testing ×1
typescript ×1