Tag: loopbackjs

无法杀死NodeJS应用程序

总有一天,我的应用程序决定不会死的。 当我检查端口后按ctrl + c它仍然存在,不仅在我的机器上,而且在由PM2pipe理的服务器上,所以我需要每次都去那里,手工杀死进程。 我试图寻找在我的代码中的问题,当我不能只是虽然这只是依赖性错误之一,很快就会有一个修复。 这有点烦人,但我可以用kill -9 PID杀死进程,而且我在前端执行了大部分任务,所以这不是什么大问题。 今天,一个多星期后问题还在这里。 我回到了历史中,select了几个星期前的一个提交,在那里一切正常,NodeJS从5.1.0切换到4.2.1,清除了npmcaching,重新安装了所有的依赖关系,我仍然看到了问题。 我正在使用LoopbackJS,但通常我简单地使用“node server / server.js”启动应用程序,然后上述问题发生,但如果我使用“slc运行”,然后尝试用ctrl + c杀死应用程序只是永远挂起,我的意思是我可以多次按ctrl + c,而且它仍然在控制台前台运行。 如果不是按ctrl + c我杀死控制台中的选项卡,应用程序死亡没有问题。 这是我运行“lsof -i tcp:4000”后看到的应用程序应该死了,但不是 编辑:使用Strongloop进程pipe理器运行并杀死它 – slc start / slc stop可以正常工作,但是在开发过程中使用运行NodeJS应用程序(节点server.js)的正常方式会更方便,并且不会改变这个事实是一个问题,最好不要把它藏在地毯下面。

环回 – 在连接器钩子中“无法读取属性连接器的空值”

我试图按照这个例子 https://docs.strongloop.com/display/public/LB/Connector+hooks var connector = MyModel.getDataSource().connector; connector.observe('before execute', function(ctx, next) { // … next(); }); 但属性“连接器”似乎是不确定的。 我需要在引导脚本中添加一个连接器钩子。 任何想法?

使用HasManyThrough关系查询模型 – strongloop api

这是前一个问题的后续。 目前,api可以从共享关系的category和game模型中进行查询。 例如,通过这个端点/Categories/1001/games/mature我可以列出所有已经mature的fighting类游戏设置为true 。 不过,我已经从数据库表game_info包含了第三个模型game_info 。 因为我想从这三个表中获取信息,我已经在数据库表games_categories_bridge包含了一个名为gamesCategoriesBridge的贯穿模型。 我遵循指导方针来设置HasManyThrough关系 。 问题在于最终结果中没有显示description和publishedDate等附加信息。 我怎样才能正确设置remoteMethod来完成以下? 通用/模型/ category.js module.exports = function(Category) { Category.mature = function(id, callback) { var app = this.app; var Game = app.models.Game; Game.find({ "where": { categoryId: id, mature: true } }, function(err, gameArr) { if (err) return callback(err); console.log(gameArr); callback(null, gameArr); }); } Category.remoteMethod( 'mature', { accepts: […]

使用没有环回的Loopback数据源和模型

我将loopback的数据源和模型设想为消耗 API的有用工具,而不仅仅是自动创build REST API。 假装我正在使用Spotify的 API。 我想要一个在Spotify上查找用户信息的命令行应用程序。 我可以编写loopback模型来使用say /v1/albums 。 我希望我可以创build一个Album模型,并使用它像Album.find('Thriller'); 。 我不想要的是创build一个REST API。 我只想要一个更好的语言来消费其他人的API,如Facebook或Instagram 。

自定义validation错误被设置多次

我使用以下方法为我的一个模型属性创build了自定义validation: Model.validateAsync('minOsVersion', validateMinimumOsVersion, {message: 'Minimum OS Version incorrect'}); function validateMinimumOsVersion(err, done) { var requiredVersion = "some version"; var givenVersion = this.minOsVersion; if (validator.validateSemanticVersionString(givenVersion, requiredVersion) < 0) { err('too_low'); } done(); } 这种validation工作正常,除了validation被多次调用(仍然没有问题),但随后多次向返回的错误对象ob loopback中添加“最小os版本太低”错误。 我错过了什么或为什么这个错误填充12次? 如果对这种特定情况的validation失败,则应该只添加一次。 有任何想法吗? 提前致谢。 编辑:根据请求,这是另一个代码,我的上传方法后被调用 Model.observe('before save', function(ctx, next) { if (ctx.instance) { analyseMetadata(ctx.instance, function(error, model) { if (error) { return next(error); […]

环回 automigrate /自动更新模型到mongodb

新的loopback和和我不能为我的生活迁移一个单一的json模型到我的mongodb数据源。 我一直在忙着: https : //docs.strongloop.com/display/public/LB/Creating+a+database+schema+from+models 以下是我迄今为止所尝试的: 我创build了一个迁移脚本bin/migrate.js ,我计划在每次需要使用自动更新来迁移更改时运行它们: var path = require('path'); var app = require(path.resolve(__dirname, '../server/server')); var ds = app.datasources.acme; var appModels = ['Client']; ds.isActual(appModels, function(err, actual) { if (!actual) { ds.autoupdate(appModels, function(err) { if (err){ throw (err); } }); } }); console.log("Migrated: " + appModels.join()); 我使用robomongo和mongo cli检查了两个,我找不到生成的表: > use acme switched to db […]

Loopback有很多关系在mongodb上不起作用

从RedHat Linux迁移到AWS上的SUSE后,我有一些奇怪的行为。 以前一切都很好。 这是我的关系: 类别: { "name": "Category", "plural": "categories", "base": "PersistedModel", "relations": { … "professions": { "type": "hasMany", "model": "Profession", "foreignKey": "" } } } 职业: { "name": "Profession", "plural": "professions", "base": "PersistedModel", "relations": { … "category": { "type": "belongsTo", "model": "Category", "foreignKey": "" } } } 问题是,当我更新现有的职业: { "categoryId" : "…" } 当我请求/ […]

将使用loopback-component-passport的用户angular色设置为内置模型

我正在尝试使用npm loopback-component-passport来创build基于条件的用户, 如果用户有属性isAdmin:true他应该有adminangular色 如果用户有属性isAdmin:false他应该有userangular色 这是我的代码: if (form.$valid) { AuthService.register({ name: $scope.user.name, email: $scope.user.email, password: $scope.user.password, isAdmin: $scope.user.isAdmin }) .then(function() { // Account created, redirect to home $state.go('home'); }) .catch(function(err) { err = err.data; $scope.errors = {}; // Update validity of form fields that match the mongoose errors angular.forEach(err.errors, function(error, field) { form[field].$setValidity('mongoose', false); $scope.errors[field] = […]

LoopBack:稍后设置必需的字段

如果“types”值为“在线”,我遇到了需要“电子邮件”属性的场景。 在一个通用的观点,我有一个字段,可能需要或不依赖于另一个字段的值。 我将如何去解决这个情况? "properties": { "type": { "type": "string", "required": true }, "email": { "type": "string" "required": //true or false depending on what 'type' is } }

多个HasMany属于环回的关系

我有一个叫做“jornal”的模型,有两个belongsTo关系,模型是“obra”和“operario”。 他们都与“jornal”模型有很多关系。 我如何创build一个与“obra”实例和“operario”实例相关的“jornal”模型的实例? 我试着链接一个postrio到operario / id / jornal POST发送jornal对象(没有id,因为它是一个新的实例),然后POST到obra。 如果我没有发送id,它会创build一个新的jornal实例,如果我发送从以前的POST返回的整个对象,它说重复的id。 谢谢