简体   繁体   English

如何使用$ resource创建自定义查询,该查询将参数作为req.body传递给猫鼬中的find方法?

[英]How can I create a custom query using $resource that passes arguments to the find method in mongoose as req.body?

I want to use a custom query method like this: 我想使用这样的自定义查询方法:

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

In services.js, I have: 在services.js中,我有:

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

In moduleRouter.js, I have: 在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);
    });
})

Edit: This is passing the {name: /test/} as a query parameter (baseUrl/modules?name=/test/). 编辑:这会将{name:/ test /}作为查询参数(baseUrl / modules?name = / test /)传递。 I had expected it to be passed as req.body, which could have acted as a filter for the Module.find(req.body, callback) method. 我曾以为它会作为req.body传递,它可能充当Module.find(req.body,callback)方法的过滤器。 What am I missing? 我想念什么?

You dont have req.body in get method. 您在get方法中没有req.body。 Just in post ones. 只是在邮寄中。 Try to use req.query instead. 尝试改用req.query。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM