根据其中

时间:2018-10-01 19:32:50

标签: javascript node.js express loopbackjs

我正在查询数据,其结构是这样的。

我有两个模型,分别是 FoodDrinks Cuisines 。他们有很多对很多的关系。

现在进行以下查询

{
   "filter": {
        "include": "cuisines"
   }
}

我得到以下结果。

[
    {
        "id": 1,
        "name": "Biryani",
        "cuisines": [
             {
                 "id": 1,
                 "name": "Mughlai"
             },
             {
                 "id": 2,
                 "name": "North Indian"
             },
             {
                 "id": 3,
                 "name": "Afghani"
             }
        ]
    },
    {
        "id": 2,
        "name": "Chhole Bhature",
        "cuisines": [
             {
                 "id": 2,
                 "name": "North Indian"
             }
        ]
    },
    {
        "id": 3,
        "name": "Amritsari Naan",
        "cuisines": [
             {
                 "id": 2,
                 "name": "North Indian"
             },
             {
                 "id": 6,
                 "name": "Punjabi"
             },

        ]
    }
]

现在我只想要那些具有以下阵列美食的食物饮料。

let cuisinesIDs = ["1", "2"]
  

以下查询内容是什么?

2 个答案:

答案 0 :(得分:0)

我猜类似下面的方法应该起作用:

{
   "filter": {
        "include": "cuisines"
   },
   "where": {
         "cuisines.id": {
             "inq": cuisinesIDs
         }
   }
}

答案 1 :(得分:0)

答案可能与@Behrooz相同,但我会尝试:

{
   "filter": {
        "include": {
                relation: 'cuisines',
                scope: {
                    where: {
                       id: {inq: cuisinesIDs}
                    }
                }
            }
   }
}