2016-09-20 65 views
4

我最近將我的遺傳數據應用程序(使用23andMe API)部署到Heroku,並使用Cloudflare集成了通用SSL。我的數據使用Heroku上的MLab插件存儲在免費的Sandbox計劃中。 23andMe數據存儲在MLab中。只要我將我的網站添加到Cloudflare,數據就很少顯示在頁面上。 MLab數據沒有顯示的時間有99%,但佔用了1%的時間。無法在已部署的Heroku網站上顯示MongoLab數據

router.get('/tools/my-genetics', ensureAuthenticated, function(req, res) { 
    var data = {}; 
    if(req.user) { 

    SNPs.find({user_id: req.user._id}).then(function(result) { 
    data.genes = result; 


    }) 

    res.render('tools/gene_data', { 
    data: data, 
    user: req.user, 
    layout: 'dash' 
    }); 
    } 
}); 

我不知道爲什麼在我的本地環境中工作,使用Heroku上提供的域名時,卻停止了,只要我配置了通用的SSL和添加自定義域名Heroku的工作。我正在使用Handlebars.js將數據綁定到我的.handlebars文件。任何人都可以告訴我爲什麼我無法從MLAB獲取數據並在配置Cloudflare時將其顯示在我的把手文件中?

它可能是Cloudflare的防火牆訪問規則?

我的看法是這樣的:

{{#each}} 
    <ul class="list-group"> 
    <li class="list-group-item lead">1. For {{diseases.0.snp}}, your Genotype is {{genotypes.rs28936694}}. This snp is {{diseases.0.risk}} {{diseases.0.descr}} This snp is located on {{diseases.0.location}}. 
    </li> 
    <li class="list-group-item lead">2. For {{diseases.1.snp}}, your Genotype is {{genotypes.rs3825942}}. {{diseases.1.risk}} {{diseases.1.descr}} This snp is located on {{diseases.1.location}}. 
    </li> 
    <li class="list-group-item lead">3. For {{diseases.8.snp}}, your Genotype is {{genotypes.rs1048661}}. {{diseases.8.risk}} {{diseases.8.descr}} This snp is located on {{diseases.8.location}}. 
    </li> 
    </ul> 
    {{/each}} 

回答

0

這是我的數據庫查詢的問題。我添加了一個if/else聲明,它的工作。

router.get('/tools/my-genetics', ensureAuthenticated, function(req, res) { 
    var data = {}; 

    SNPs.find({user_id: req.user._id}).exec(function(err, result) { 
    data.genes = result; 


    if(err) { 
     console.log(err); 
    }else { 
     console.log('===result inside here===: ' + result); 

     res.render('tools/gene_data', { 
     data: data, 
     user: req.user, 
     layout: 'dash' 
     });  
    } 
    }); 
});