帆js'和'查询

时间:2016-05-10 14:08:19

标签: sails.js waterline

我有大量的产品数据集。我正在寻找名称中含有“spaghetti”的产品,但名称中没有'mix',使用sails js。我尝试了几件事,这是一件事。

Product.find({
  where: {
    name: {'contains': 'spaghetti'},
    name: {'!': 'mix'}
  }
})

这就像一个OR查询,在哪里可以找到所有的意大利面条或不混合。当然,这不仅仅意味着意大利面。我需要的是它查询AND而不是OR。最好不要在已经找到的数据之上再次执行find / where,因为我认为这会占用更长的时间。

我觉得从OR变成AND应该很容易。但我一直在寻找各处,我找不到任何相关的东西。

1 个答案:

答案 0 :(得分:2)

您可以使用两次使用相同属性的AND查询:

Product.find({
  and: [
    {name: {'contains': 'spaghetti'}},
    {name: {'contains': 'mix'}}
  ]
})

但是,name: {'!': 'mix'}表示name != 'mix',即“不等于”。很遗憾,Waterline目前不支持“不包含”查询 - 您必须使用query()native()。有关详细信息,请参阅水线问题#1296#666#22

相关问题