node.js-调用外部API并将其响应保存到mongoDB

时间:2018-07-08 17:20:08

标签: node.js mongodb api express post

下面的代码使我可以轻松地从外部数据库访问电影。 作为回应,我通过在请求的qs:中指定“ t”(标题)来获取有关所选电影的所有数据。

    .get(function(req,res,next){
            request({
                uri: ' http://www.omdbapi.com/?i=tt3896198&apikey=7776cbde',
                qs: {
                    api_key: '7776cbde',
                    t: 'Star Wars'
                }
            }).pipe(res);
        });

我想创建类似的POST请求,该请求将从外部API提取数据并将其保存到本地mongoDB数据库中。该请求将仅是电影标题,并且基于该标题,我需要将有关电影的所有剩余数据提取到我的本地数据库中。

我使用下面的代码根据请求正文在数据库中创建电影,并且效果很好

 .post(function(req,res){        
        var movie = new Movie(req.body);
        //this will save our movie in application database
        movie.save()
        res.status(201).send(movie);
        })

但是我不能完全从外部API提取数据:

.post(function(req,res,next){
            var params = req.body.params;
            request({
                uri: ' http://www.omdbapi.com/?i=tt3896198&apikey=7776cbde',
                qs: {
                    api_key: '7776cbde',
                }
            }).pipe(res);
        })

这是我所得到的最接近的信息,作为答复,我可以看到json格式的电影,但是保存的只是一些信息片段。

0 个答案:

没有答案