NodeJS - 如何从增长数组中获取特定元素

时间:2016-01-05 16:59:37

标签: javascript node.js mongoose

我正在使用Robots.js从网站列表的robots.txt文件中获取站点地图。基本上,我使用QueryStream从MongoDB集合中查询每个站点URL并将其传递给Robots.js函数进行处理。

var stream = Urls.find().stream();

stream.on('data', function(data) {
    // Fetch the urls from domain pool
    var url = data;   

 // Get Sitemaps
    parser.setUrl('http://' + url + '/robots.txt' || 'https://' + url + '/robots.txt', function(parser, success) {
        if (success) {
            parser.getSitemaps(function(sitemaps) {
                // The array keeps increasing after each url passed in
                console.log(sitemaps);
                // Did try this but not work
                sitemaps.length = 0;
            });
        }
    });
}).on('error', function(err) {
    // handle the error
    console.log(err);
}).on('close', function() {
    // the stream is closed
    console.log('End of database!');
});

问题是它返回一个数组,每次传入和传递的URL都会不断增加,例如:
[url1/sitemap.xml], [url1/sitemap.xml, url2/sitemap.xml], [url1/sitemap.xml, url2/sitemap.xml, url3/sitemap.xml]

虽然我想要的理想事情是 传入的每个相应网址都有[url1/sitemap.xml], [url2/sitemap.xml], [url3/sitemap.xml]

所以我的问题是,有没有办法获取仅与给定网址匹配的网站地图网址?我试过sitemaps.filter来过滤但没有运气。

0 个答案:

没有答案