我需要找到一种方法来更改从自定义远程方法发送的响应的内容类型。看来默认情况下它是application/json。
我有一个返回图像的远程方法,因此我需要以某种方式更改内容类型。
我在使用Loopback获取 mongoDB 上的聚合结果时遇到一些问题。
这是我的环回配置:
这是我编写的用于执行聚合的代码:
return new Promise((resolve, reject) => {
Model.getDataSource().connector.connect(function(err, db) {
if (err)
return reject(err);
let aggregatePipe = [
{
$group: {
"_id": "$address.region",
"count": {$sum: 1},
"geoPoint": {$addToSet: "$geoPoint"}
}
}];
let results = db.collection('Location').aggregate(aggregatePipe, (err, results) => {
console.log(results);
return resolve(results);
});
});
Run Code Online (Sandbox Code Playgroud)
然而, results不包含聚合的结果,但包含游标...
AggregationCursor {
pool: null,
server: null,
disconnectHandler:
Store {
s: { storedOps: [], storeOptions: [Object], topology: …Run Code Online (Sandbox Code Playgroud) 我正在使用loopback3.x。我想将第 3 方 API 与环回集成。为此,在使用loopback-connector-rest时显示错误“ TypeError:无法初始化未定义的连接器:无法读取未定义的属性‘root’ ”。如何修复它?
数据源配置
"restDataSource": {
"name": "restDataSource",
"baseURL": "",
"crud": true,
"connector": "rest",
"debug": false,
"options": {
"headers": {
"accept": "application/json",
"content-type": "application/json",
"authorization": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"strictSSL": false
},
"operations": [{
"template": {
"method": "POST",
"url": "https://fcm.googleapis.com/fcm/send",
"options": {
"strictSSL": true,
"useQuerystring": true
}
},
"functions": {
"notify": ["title", "text", "click_action", "keyname", "to"]
}
}]
}
Run Code Online (Sandbox Code Playgroud)
错误
TypeError: Cannot create data source "restDataSource": Cannot initialize connector "rest": Cannot read property 'root' of undefined …Run Code Online (Sandbox Code Playgroud) 对于持久化模型,使用strongloop的loopback默认REST API,执行以下操作之间的区别是什么:
HEAD Ressource/{id}GET Ressource/{id}/exists?
在我的一个LoopBack模型中,我想向模型添加一个实例方法,但它不会让我访问this,因为this在prototype方法中未定义:
module.exports = (MyModel) => {
MyModel.prototype.doStuff = () => {
console.log(this); // outputs undefined
}
}
Run Code Online (Sandbox Code Playgroud)
这显然限制了实例方法的有用性.有没有办法做到这一点?
启动新API,是什么提供了最佳的安全性和速度?环回还是整顿?
上周似乎restify的下载次数已超过60,000次,另一方面,Loopback由IBM提供支持,并且默认情况下实现了大量的插件和安全性.
基准测试没有可比较但我在Nodejs 8或9上安装Loopback时遇到问题:命令: sudo yarn global add loopback-cli
loopback-datasource-juggler@2.56.0:引擎"节点"与此模块不兼容.预期版本"> = 4 <= 6".
我应该用什么平台启动我的API?我可以等待Loopback支持节点8或9.
我希望我能得到答案,即使它可能是主观的.我真的需要对此有所了解.
编辑:添加了用于安装环回的命令.还要感谢提供见解,即使这不是一个纯粹的SO问题.
我有一个带有我不想通过 HTTP 公开的功能的环回 4 控制器。我希望能够从另一个控制器调用该函数。
我怎样才能做到这一点?有没有办法在另一个控制器中注入一个控制器?(我可以在控制器中注入存储库,但不能在其他控制器中注入控制器)。
我在模型中有几个对象。我想通过
"user":"restlessankur@gmail.com"
我如何在 loopback.js 中做到这一点?
我试过 findOne 并输入
{"user": "restlessankur@gmail.com"}
我看到结果包含 user:restlessankur@gmail.com
但是,如果我过滤它 user:meghanetpulse7@gmail.com
即使那样,我也得到"user":"restlessankur@gmail.com"了结果。
所以,我有2个问题
1)findOne我的场景是正确的方法吗?
2)如果是,那么我在这里做错了什么?
loopbackjs ×8
strongloop ×3
javascript ×2
loopback ×2
aggregate ×1
api ×1
connector ×1
instance ×1
methods ×1
mongodb ×1
restify ×1
server ×1