查找并保存循环(MongoDB Node Express)

时间:2015-08-23 09:56:02

标签: angularjs node.js mongodb

我有这个控制器从instagram api获取数据。

controller.prototype.getData = function getData(url, tag, callback) {
        var clientId = '81e3d3f35c8a4438964001decaa5a31f'
        var catchAll = [];
        var config = {
            'params': {
                'client_id': clientId,
                'callback': 'JSON_CALLBACK'
            }
        }
        vm.url = 'https://api.instagram.com/v1/tags/' + tag + '/media/recent/';

        http.jsonp(url, config)
            .then(function(response) {
                vm.imageData = vm.imageData.concat(response.data.data);
                vm.instagram.storeData(vm.imageData).then(function(response) {

                })
                var paging = response.data.pagination;
                if (paging.hasOwnProperty('next_url')) {
                    getData(paging.next_url)
                } else {
                    callback.call();
                }
            })



    }

然后在节点mongodb控制器上我有这个

exports.create = function(req, res) {
var dataObj = req.body;
dataObj.forEach(function(item) {

    Data.find({
        'id': item.id
    }, function(err, data) {
        if (err) {
            return handleError(res, err);
        }

        if (data.length == 0) {
            Data.create(item, function(err, data) {
                if (err) {
                    return handleError(res, err);
                }
            });
        }

    });

});

};

这里的逻辑是,如果用户不存在于集合中,我将保存它。我的问题是,为什么如果让300说instagram对象需要太长时间才能回复?有没有办法如何以最佳性能做到这一点?

0 个答案:

没有答案