在回环中过滤远程方法

我已经在回送中创build了一个远程方法

XXX.remoteMethod('getAllGlobalFilters', { 'description': 'List of all GlobalFilters', 'http': { 'path': '/getAllGlobalFilters', 'verb': 'get' }, 'accepts': [ {'arg': 'filter', 'type': 'object', 'http': {'source': 'query'}} ], 'returns': {'arg': 'allGlobalFilters', 'type': 'array'} }); XXX.getAllGlobalFilters = function(arg, callback) { console.log(arg); rtbSspPubFilter.find({ where: { type: 15 }, include: [{relation: 'XXX'}] }, function(err, data) { if (err) { return callback(err); } return callback(null, data); }); }; }; 

我能够使用查找和远程方法工作正常,但我不能像使用远程方法中的过滤正则expression式我如何访问回相同的默认filter。

在这里输入图像描述

我想使用像本地回环模型可用的filter的JSON。 像上面的图片一样

首先,作为远程​​函数的良好习惯,不要使用arg ,而是使用远程方法中定义的名称,即filter 。 这样,当你定义了多个属性的时候,它就不那么容易混淆了。

但是,在你的问题,你只需要传递一个string,然后parsing到您的函数中的JSON对象,如下所示:

  XXX.remoteMethod('getAllGlobalFilters', { 'accepts': [{'arg': 'filter','type': 'string'}], 'http': { 'path': '/getAllGlobalFilters', 'verb': 'get' }, 'returns': {'arg': 'allGlobalFilters', 'type': 'array'} }); XXX.getAllGlobalFilters = function(filter, callback) { filter = JSON.parse(filter); rtbSspPubFilter.find(filter, function(err, data) { if (err) { return callback(err); } return callback(null, data); }); }; 

希望这可以帮助!