Как создать пользовательский запрос, используя $resource, который передает аргументы методу find в mongoose как req.body?

Я хочу использовать пользовательский метод запроса, как это:

 $scope.modules = dataFac.getModules().customQuery({name: /test/})
                    .$promise.then(function(response){
                        $scope.modules = response;
                    },
                    function(response){
                        console.log(response.status);
                    });

В services.js у меня есть:

dataFac.getModules = function(){
    return $resource(baseUrl+'modules', null, {'update': {method: 'PUT'}, 'customQuery': {method: 'GET'}});
};

В moduleRouter.js у меня есть:

moduleRouter.route('/')
.get(function(req, res, next){
    Modules.find(req.body, function(err, modules) {
        if (err) {
            console.log(err);
            next(err);
        }
        res.json(modules);
    });
})

Редактировать: это передает {имя: /test/} в качестве параметра запроса (baseUrl/modules? Name=/test/). Я ожидал, что он будет передан как req.body, который мог бы выступать в качестве фильтра для метода Module.find(req.body, callback). Что мне не хватает?

1 ответ

Решение

У вас нет req.body в методе get. Просто в посте. Попробуйте вместо этого использовать req.query.

Другие вопросы по тегам