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",{})
    });
    

    そして最後に約束私はこれを試したり使用したりしていないので、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",{})
    })
    

    マングースの約束の詳細については、こちらをご覧ください Howマングースの約束を使用するには-mongo




    1. Laravel:Redis接続できませんでした:[tcp://127.0.0.1:6379]

    2. Mongodb:$HINTのパフォーマンスへの影響

    3. Hadoopでのマップのみのジョブとは何ですか?

    4. REACTフェッチポストリクエスト