我如何在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)
是否有一种内置的方法来自动增加模型的属性值是Strongloop loopback?这个模型有一个名为orderNumber的属性,我希望它从1开始,每次创建一个新模型时递增1.此模型将持久保存到mongo DB.如果Strongloop loopback没有内置方式,那么使用javaScript,Node和mongoDB会被认为是最佳实践吗?
谢谢,
如何将内置模型(如用户,角色,用户角色映射等)移动到我们创建的数据库而不是默认数据源:db?内置模型未在Arc中列出.
我已经尝试创建一个继承这些基本模型的新模型.但是,数据不会保存到新模型中.
请建议......我已经坐了好几个星期了.谢谢
我是loopback的新手,我刚刚开始实施教程 https://docs.strongloop.com/display/public/LB/Connect+your+API+to+a+data+source
但我收到错误:
[error: relation "public.acl" does not exist].
Run Code Online (Sandbox Code Playgroud)
我搜索了很多,但无法找到解决方案.请帮我解决这个问题.谢谢..
我正在使用LoopBack ver.1.6并使用以下数据源配置运行开发的本地mongoDB服务器:
"mongodb": {
"defaultForType": "mongodb",
"connector": "loopback-connector-mongodb",
"database": "xxxdbname",
"host": "localhost",
"port": "27017"
},
Run Code Online (Sandbox Code Playgroud)
现在我想部署到Heroku但我不知道如何配置数据源指向MongoLab数据库,因为它有一个动态生成的连接字符串:
来自Heroku dox:
var mongo = require('mongodb');
var mongoUri = process.env.MONGOLAB_URI ||
process.env.MONGOHQ_URL ||
'mongodb://localhost/mydb';
mongo.Db.connect(mongoUri, function (err, db) {
db.collection('mydocs', function(er, collection) {
collection.insert({'mykey': 'myvalue'}, {safe: true}, function(er,rs) {
});
});
});
Run Code Online (Sandbox Code Playgroud)
那么我需要对我的数据源JSON进行哪些更改来映射Heroku连接字符串?
如何从模型挂钩中访问提出请求的用户的详细信息
Comment.beforeSave = function(next,com) {
//Want to add 2 more properties before saving
com.added_at = new Date();
com.added_by = //How can i set the user id here ??
//In case of a Remote hook i have ctx in param and i can get user id like this ctx.req.accessToken.userId; But in Model Hook how can i do the same?
next();
};
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?我尝试使用远程钩子作为主要项目
MainItem.beforeRemote('**', function(ctx, user, next) {
if(ctx.methodString == 'leave_request.prototype.__create__comments'){
ctx.req.body.added_by = ctx.req.accessToken.userId;
ctx.req.body.added_at = new Date();
console.log("Added headers as .."+ctx.req.body.added_by); …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来自定义StrongLoop LoopBack HTTP响应代码和标头.
我想遵守一些关于REST API的公司业务规则.
对于JSON中描述的模型,典型情况是让HTTP响应POST请求,使用代码201 +标头Content-Location(而不是没有Content-Location标头的loopback的默认响应代码200).
是否可以使用LoopBack来做到这一点?
我现在loopback用作后端我希望能够搜索表中的所有字段
例如,请使用以下表字段:
id, name, title, created, updated
Run Code Online (Sandbox Code Playgroud)
现在说我想使用以下字符串搜索整个表格" nomad"
但是,我不确定如何构造查询
我试过了:
{"where": {"keywords": {"inq": ["nomad"]}}}
Run Code Online (Sandbox Code Playgroud)
但是,这只会返回所有结果
那我该怎么做?:)
如果重要我的数据库是一个 postgresql
我想在环回中使用MongoDB Decimal128数据类型.注:我不希望使用的号码类型.
我的模特:
{
"name": "Mongoproduct",
"options": {
"validateUpsert": true,
"strictObjectIDCoercion": true,
"relations": {},
"mongodb": {
"collection": "products",
"allowExtendedOperators": true
}
},
"properties": {
"id": {
"type": "String",
"required": true,
"length": null,
"precision": null,
"scale": null
},
"sku": {
"type": "String",
"required": false,
"length": 50,
"precision": null,
"scale": null,
},
"buyprice": {
"type": "object",
"mongodb": {
"dataType": "Decimal128"
}
},
}
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
Run Code Online (Sandbox Code Playgroud)
如果我通过REST资源管理器查询数据,记录将如下所示:
{
"id": "5b41a6ac1afe940d900cba75",
"sku": "shGHYB12-60-LOZ",
"buyPrice": { …Run Code Online (Sandbox Code Playgroud) loopbackjs ×10
strongloop ×7
javascript ×3
mongodb ×3
node.js ×3
heroku ×1
http-headers ×1
json ×1
postgresql ×1
rest ×1