美文网首页
Node.js开发笔记-20:mongodb 学习

Node.js开发笔记-20:mongodb 学习

作者: 原味蛋炒饭 | 来源:发表于2017-11-27 16:59 被阅读17次

    增删改查
    https://www.cnblogs.com/ostrich-sunshine/p/6755304.html
    MongoDB索引原理
    http://www.open-open.com/lib/view/open1461568319242.html

    MARK一下
    如何使用mongoose对一个100万+的mongodb的表进行遍历操作
    https://cnodejs.org/topic/51508570604b3d512113f1b3
    
    var MongoClient = require('mongodb').MongoClient;
    var url='mongodb://localhost/sample';
    MongoClient.connect(url, function(err, db) {
        if(err) { return console.log("connection failed: %s",err); }
        console.log('connected to mongo, ready for duty work');
        var collection=db.collection('files');
        //setInterval(function(){ console.log('memroy usage : %j',process.memoryUsage());},10000);
        /** fetch all records **/
        var stream=collection.find().stream(),cache=[];
        stream.on('data',function(item){
            cache.push(item);
            if(cache.length==10){
                /** signal mongo to pause reading **/
                stream.pause();
                process.nextTick(function(){
                    doLotsWork(cache,function(){
                        cache=[];
                        /** signal mongo to continue, fetch next record **/
                        stream.resume();
                    });
                });
            }
        });
        stream.on('end',function(){ console.log('query ended'); });
        stream.on('close',function(){ console.log('query closed'); });
    });
    
    function doLotsWork(records,callback){
        //.....do lots of work
        //.....
        //all done, ready to deal with next 10 records
        process.nextTick(function(){
            callback();
        });
    }
    

    相关文章

      网友评论

          本文标题:Node.js开发笔记-20:mongodb 学习

          本文链接:https://www.haomeiwen.com/subject/xipdbxtx.html