Tag: loopbackjs

Loopback +连接多个数据库

我正在使用loopback框架和nodejs。 是否可以一次连接多个数据库? 比如我有两个不同的数据库。 1. Mysql Database – A 2. Postgresql – B 有些页面从A数据库获取数据,有些页面需要从B数据库获取数据。 有可能这样做吗? 更多细节: 假设我们有两个模块。一个模块与MySQL交互,另一个模块与postgreSQL交互。

环回MongoError:未授权在heroku_xxxx.role上进行查询

我正在为我的服务器使用Loopback和以下设置: "loopback": "^2.36.0", "loopback-boot": "^2.23.0", "loopback-component-explorer": "^2.4.0", "loopback-component-storage": "^1.9.1", "loopback-connector-mongodb": "^1.17.0", "loopback-datasource-juggler": "^2.53.0", 它连接到mlab.com上的mongoDB 我的主要查询包括一个模型和它的依赖关系,例如: GET /api/course/1234 PARAMS filter = { include: [ {relation:'students'}, {relation:'documents'}, {relation:'modules'} ] } 99.9%的时间,它完美的作品。 但是当我开始在平台上进行更多的活动时,在服务器开始崩溃之前,我开始出现这个错误。 这是错误: MongoError: not authorized for query on db.student at Function.MongoError.create (/app/node_modules/mongodb-core/lib/error.js:31:11) at queryCallback (/app/node_modules/mongodb-core/lib/cursor.js:182:34) at /app/node_modules/continuation-local-storage/context.js:76:17 at bound (domain.js:287:14) at runBound (domain.js:300:12) at Callbacks.emit (/app/node_modules/mongodb-core/lib/topologies/server.js:119:3) […]

使用内存作为数据源进行环回testing

我正在尝试使用内存连接器作为数据源进行集成testing时。 但它似乎总是连接到mongodb数据源。 我做的一个主要的黑客攻击是将每个模型的数据源更改为内存。 但是一定有更好的方法来做到这一点。 我从一个吞咽任务运行我的testing。 我的roflmao模型 – 内存黑客: var models = require('../server/model-config.json'); for (var key in models) { var model = loopback.getModel(key); loopback.configureModel(model, {dataSource: memory}); } } 有没有办法改变应用程序的数据源? 或者我必须改变每个模型的数据源..? 一个这样做的方法是在testing期间改变环境variables,但到目前为止,没有运气..我正在做这个与吞吐任务预处理。 希望通过改变环境variables,它会使用datasources.integrationtesting.js,其中我有内存作为一个数据源。 我的一口气任务: return gulp.src('integration-tests/*.js') .pipe($.preprocess({context: {NODE_ENV: 'integrationtesting'}})) .pipe($.mocha()) 我在用着: 环回testingfunction 一饮而尽,摩卡 欣赏任何评论..)

使用Loopback实现更改密码

我试图用Loopback的内置方法实现更改密码function,它工作正常,但它不会更新密码与hash相反,它只是保存在数据库中的纯文本。 我在这个项目中使用loopback-component-passport npm包。 我search了很多网站,但我无法find正确的方法来实现此function。 有没有人有想法如何做到这一点? //Change user's pasword app.post('/change-password', function(req, res, next) { var User = app.models.user; if (!req.accessToken) return res.sendStatus(401); //verify passwords match if (!req.body.password || !req.body.confirmation || req.body.password !== req.body.confirmation) { return res.sendStatus(400, new Error('Passwords do not match')); } User.findById(req.accessToken.userId, function(err, user) { if (err) return res.sendStatus(404); user.hasPassword(req.body.oldPassword, function(err, isMatch) { if (!isMatch) […]

环回是什么意思?

我正在尝试学习回送,但是我不太了解函数调用中“cb”的含义。 我读了这个在loopback文件中,variables'cb'代表什么? 我对nodejs中的callback有基本的了解,但是我只是不了解loopback中的cb。 例如, http://docs.strongloop.com/display/public/LB/Remote+methods 。 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'} } ); }; 那个cb是什么意思? 我们怎样才能知道它接受两个参数,null和一个string? 希望有人可以帮忙。

在MySQL Loopback Connector上执行原始查询

如何使用strongloop执行原始查询并通过REST API公开结果? 我读过一些关于使用hooks和dataSource.connector.query()但我找不到任何工作的例子。

LoopBack存储服务,直接上传(无需请求对象)

我想使用Loopback存储服务将file upload到存储容器。 但.upload()方法需要一个请求对象。 但是如果我想上传一个不是来自提交表单的现有文件? 我是否需要伪造POST请求才能使上传处理程序高兴? 似乎必须有更好的方法。

从Strongloop环回下载文件

我在回送API中有一个模型,我想下载它作为一个文件,而不是显示为文本。 我有一些旧的PHP代码,我已经适应尝试和下载响应作为一个文件。 这是我的代码: Issue.afterRemote('getCSV', function(ctx, affectedModelInstance, next) { var result = ctx.result; console.log(result); var currentdate = new Date(); var datetime = currentdate.getDate() + " " + + (currentdate.getMonth()+1) + " " + + currentdate.getFullYear() + " " + + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds(); + " "; ctx.res.set('Expires', 'Tue, 03 Jul […]

Loopback discoverAndBuildModels不生成模型

我试图让Loopback发现并build立我的第一张桌子。 我在他们的页面底部使用了这个简单的例子: http://docs.strongloop.com/display/LB/Database+discovery+API#DatabasediscoveryAPI-Exampleofbuildingmodelsviadiscovery 我看到我正在发现的表的输出,但API Explorer不显示表或任何新生成的端点。 此外,model-config.js文件不会使用新的表格对象进行更新。 以下是在服务器启动时完成的代码的基本部分: var loopback = require('loopback'); var boot = require('loopback-boot'); var DataSource = require('loopback-datasource-juggler').DataSource; var mysqlSource = require('./datasources.json'); var dataSource = new DataSource('mssql', mysqlSource.mysqlserver); var app = module.exports = loopback(); // Set up the /favicon.ico app.use(loopback.favicon()); // request pre-processing middleware app.use(loopback.compress()); // — Add your pre-processing middleware here — dataSource.discoverAndBuildModels('CATS', […]

环回:embedded式模型在脱机同步中不起作用

我已经遵循了loopback离线同步的例子,并创build了我自己的embedded式文档模型。 我创build了一个名为Project的模型,其中ProjectMembers是embedded模型。 这是我的模型: Project.json { "name": "Project", "base": "PersistedModel", "strict": "throw", "persistUndefinedAsNull": true, "trackChanges": true, "properties": { … }, "relations": { "members": { "type": "embedsMany", "model": "ProjectMember", "property": "members", "options": { "validate": true, "forceId": false } } } } ProjectMember.json { "name": "ProjectMember", "base": "Model", "idInjection": true, "properties": { … }, "validations": [], "relations": {}, […]