如何在 Sails 中使用搜索修饰符"OR".js使用 Mongo 的水线适配器



编写下面的代码是为了获取在"name"或"description"中包含"sometext"的记录。这似乎不起作用。

有人可以提供正确的方法来实施"OR"搜索吗

旁注:"AND"功能有效。"或"功能不起作用。使用sailsjs & sails-mongo 0.94版本。

Model.find({
     where: {
      or: [
       {name: {contains: req.param('sometext')}},
       {description: {contains: req.param('sometext')}}
      ]
     }, limit: 15, skip: 0, sort: 'name ASC'
    }, callback)
Model.find({
  or: [
    { something: 3 },
    { somethingElse: "foo" }
  ]
}).done(function(err, data) {
});

在水线中应用OR还有另一种方法,帆水线提供水线方法的链接。find() 和 where() 方法可以按如下方式链接:

User.find({})
.where({
    or: [{
        name: {
            'contains': searchString
        }
    }, {
        description: {
            'contains': searchString
        }
      }
    }]
})
.skip(0)
.limit(15)
.sort({
    name : 1
});

通过这种方式,您可以进一步链接更多where条件。

这是 Sails+Waterline 0.9.4 的已知错误。该链接转到提问者打开的问题。修复后,它应该使用问题中指定的代码工作。

相关内容

  • 没有找到相关文章

最新更新