标签: loopbackjs

环回模型中的动态属性或聚合函数

我如何在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() …

strongloop loopbackjs

8
推荐指数
2
解决办法
6427
查看次数

loopbackjs:将模型附加到不同的数据源

我已经为我的环境定义了几个使用Datasource"db"(mysql)的模型.

有没有办法将几个数据源附加到这些模型,所以我可以对不同的数据库执行REST操作?

即:GET/api/Things?ds ="db"

GET/api/Things?ds ="anotherdb"

GET/api/Things(将使用默认ds)

node.js strongloop loopbackjs

8
推荐指数
1
解决办法
2362
查看次数

在Strongloop环回模型中自动增加属性值

是否有一种内置的方法来自动增加模型的属性值是Strongloop loopback?这个模型有一个名为orderNumber的属性,我希望它从1开始,每次创建一个新模型时递增1.此模型将持久保存到mongo DB.如果Strongloop loopback没有内置方式,那么使用javaScript,Node和mongoDB会被认为是最佳实践吗?

谢谢,

javascript rest mongodb strongloop loopbackjs

8
推荐指数
1
解决办法
4687
查看次数

将内置模型迁移到数据库

如何将内置模型(如用户,角色,用户角色映射等)移动到我们创建的数据库而不是默认数据源:db?内置模型未在Arc中列出.

我已经尝试创建一个继承这些基本模型的新模型.但是,数据不会保存到新模型中.

请建议......我已经坐了好几个星期了.谢谢

strongloop loopbackjs

8
推荐指数
1
解决办法
2714
查看次数

Loopback postgresql关系"public.acl"

我是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)

我搜索了很多,但无法找到解决方案.请帮我解决这个问题.谢谢..

node.js loopbackjs

8
推荐指数
2
解决办法
2552
查看次数

如何配置StrongLoop LoopBack MongoDB数据源以部署到Heroku

我正在使用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连接字符串?

javascript heroku mongodb strongloop loopbackjs

7
推荐指数
2
解决办法
7817
查看次数

来自beforeSave Model Hook的访问请求标头

如何从模型挂钩中访问提出请求的用户的详细信息

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 loopbackjs

7
推荐指数
1
解决办法
4129
查看次数

StrongLoop Loopback:如何自定义HTTP响应代码和标头

我正在寻找一种方法来自定义StrongLoop LoopBack HTTP响应代码和标头.

我想遵守一些关于REST API的公司业务规则.

对于JSON中描述的模型,典型情况是让HTTP响应POST请求,使用代码201 +标头Content-Location(而不是没有Content-Location标头的loopback的默认响应代码200).

是否可以使用LoopBack来做到这一点?

http-status-codes http-headers strongloop loopbackjs

7
推荐指数
1
解决办法
6067
查看次数

在所有字段上进行环回搜索

我现在loopback用作后端我希望能够搜索表中的所有字段

例如,请使用以下表字段:

id, name, title, created, updated
Run Code Online (Sandbox Code Playgroud)

现在说我想使用以下字符串搜索整个表格" nomad"

但是,我不确定如何构造查询

我试过了:

{"where": {"keywords": {"inq": ["nomad"]}}}
Run Code Online (Sandbox Code Playgroud)

但是,这只会返回所有结果

那我该怎么做?:)

如果重要我的数据库是一个 postgresql

javascript postgresql json loopbackjs

7
推荐指数
1
解决办法
851
查看次数

如何通过REST Api在Loopback中使用Decimal128

我想在环回中使用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)

mongodb node.js loopbackjs

7
推荐指数
1
解决办法
359
查看次数