gpt4 book ai didi

javascript - 在环回中过滤远程方法

转载 作者:搜寻专家 更新时间:2023-10-31 23:19:48 25 4
gpt4 key购买 nike

我在loopback中创建了一个远程方法

  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);
});
};
};

我可以使用 find 并且远程方法工作正常,但我无法在远程方法中使用正则表达式(如过滤)我如何访问相同的环回默认过滤器。

enter image description here

我想使用可用于 native 环回模型的类似 json 的过滤器。像上图一样

最佳答案

首先,作为远程​​函数中的良好实践,不要使用 arg,而是使用您在远程方法中定义的名称,即 filter。这样一来,当您定义了多个属性时,就不会那么困惑了。

但是,在您的问题中,您只需传递一个字符串,然后在您的函数中将其解析为 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);
});
};

希望这对您有所帮助!

关于javascript - 在环回中过滤远程方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47412402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com