6

我正在尝试使用 StrongLoop 的 Model.find 语法(此处的文档:http://apidocs.strongloop.com/loopback/#modelfindfilter-callback)通过姓名或标识符来查找一个

但我不知道如何指定 OR 条件。

我可以使用以下语法匹配名称和标识符:

person.find({
    where: {
        'name.text': {like: 'Dave'},
        'identifier.value': {like: '3303927'}
    }
}, callback);

但我希望能够匹配名称或标识符做这样的事情:

person.find({
    where: {
        'name.text': {like: 'Dave'} ||
        'identifier.value': {like: '3303927'}
    }
}, callback);

要么不支持,要么我的语法不正确。看来这是通过 REST API 支持的(文档:http ://docs.strongloop.com/display/DOC/Model+REST+API#ModelRESTAPI-Findmatchinginstances )所以我希望它像我尝试的那样得到支持完成它。

谢谢!

4

2 回答 2

9

AND/OR 运算符是最近添加的。请在以下位置查看使用示例:

https://github.com/strongloop/loopback-datasource-juggler/blob/master/test/basic-querying.test.js#L156

语法是:

person.find({
    where: {
      or: {
        'name.text': {like: 'Dave'},
        'identifier.value': {like: '3303927'}
      }
    }
}, callback);
于 2014-05-20T22:48:14.523 回答
2
person.find({
    where: {
        or: [
            {'name.text': {like: 'Dave'},
            {'identifier.value': {like: '3303927'}
        ]
     }
}, callback);
于 2017-08-01T09:03:06.270 回答