loopbackjs - 环回.JS : How to query with a math expression between properties of a model?

标签 loopbackjs

如何使用模型属性之间的数学表达式在 Loopback 中进行查询? 假设我们有一个带有一些数字的模型:

{
   "name": "myModel",
   "base": "PersistedModel",
   "idInjection": true,
   "options": {
      "validateUpsert": true
   },
   "properties": {
      "length": {
         "type": "number"
      },
      "width": {
         "type": "number"
      }
   }...
}  

如何查询需要评估涉及多个属性的公式的模型?例如,返回 (length + width) > X 的所有模型?有没有办法在“where”查询中包含模型的属性:

var MyModel = app.models.MyModel;
MyModel.find( {where: { ??? }}  // how to express something like:  
                                //  (model.length + model.width)<X  

最佳答案

您可以使用集合适配器执行该查询。

在您的情况下,以下代码将起作用:

var myModelCollection = app.models.myModel.dataSource.adapter.collection("myModel");
myModelCollection.find({$where:"this.length + this.width < " + x}).toArray(function(err,returnedResult){
    console.log(err, returnedResult)
})

关于loopbackjs - 环回.JS : How to query with a math expression between properties of a model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47065364/

相关文章:

node.js - 如何最好地在您的 Loopback 4 应用程序中包含一次性脚本?

node.js - 如何覆盖loopback的默认密码哈希方法和验证方法?

loopbackjs - 在 ubuntu 上将节点更新到 v12

node.js - 环回 3 中数据源的配置环境问题

javascript - 如果文档不存在,如何使用 LoopBack 从 MongoDb 中的远程方法中插入文档

node.js - 如何从数据库中删除环回模型和引用

angularjs - 使用 Loopback-component-passport 将环回中的用户角色设置为内置模型

mysql - 在环回中更新模型的 id 值

node.js - 自定义验证错误被设置多次

node.js - 如何通过 REST Api 在环回中使用 Decimal128