MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Понякога данните не се показват в браузъра

Най-простият, но НЕ СЕ ПРЕПОРЪЧВА начинът да направите това, което искате, е кодът по-долу, но обикновено води до ад за обратно извикване или Пирамида на гибелта и е трудно за четене, така че не използвайте това !!!!

Comp.count({}, function(err, count){
   Comp.find({}).remove({}, function(){
      Comp.create(arr, function(err, docs){
         Comp.find({}, ..., function(err, doc){                
            Comp.findOne().skip(random).exec(function(err, result){
                res.render("index",{})
            })    
         }) 
      })
   })    
})

друг начин може да бъде да използвате async.js

async.series([
    function(callback){
        Comp.count({}, function(err, count){
            callback(null, count);
        });
    },
    function(callback){
        Comp.find({}).remove({}, function(){
            callback(null);
        });
    },
    function(callback){
        Comp.create(arr, function(err, docs){
            callback(null);
        });
    },
    function(callback){
        Comp.find({}, ..., function(err, doc){ 
            callback(null);
        });
    },
    function(callback){
        Comp.findOne().skip(random).exec(function(err, lastResult){
            callback(null, lastResult);
        });
    }
],
// optional callback, results is an array of results from each callback if any
function(err, results){
    // results is now equal to [count, lastResult]
    res.render("index",{})
});

и накрая Promises Не съм пробвал или използвал това, така че не съм 100% сигурен но нещо подобно

var promise = Comp.count({}).exec();

promise.then(function(count) {
    return Comp.find({}).remove({}).exec();
})
.then(function() {
    return Comp.create(arr, ).remove({}).exec();
})
.then(function() {
    return Comp.find({}).remove({}).exec();
})
.then(function() {
    return Comp.find({}).skip(random).exec();
})
.then(function(result) {
    res.render("index",{})
})

Погледнете тук за още подробности относно обещанията на mongoose Как за използване на mongoose Promise - mongo




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose, актуализиране на стойности в масив от обекти

  2. Удостоверете се след избор на базата данни

  3. Node.js, MongoDB - Вмъкване/актуализиране на множество документи и изпращане на един отговор

  4. Създавайте, четете, актуализирайте, изтривайте данни с помощта на Node.js - Mongoose

  5. mongo db дизайн на следване и емисии, къде трябва да вградя?