2016년 2월 17일 수요일

[nodejs] mongodb 사용

nodejs 에서 몽고 디비 사용하는 방법이다.

var MongoClient = require('mongoldb').MongoClient;
var url = 'mongodb://localhost:27017/test';

MongoClient.connect(url, function(err, db) {
    var cursor = db.collection('my_coll').find();
    cursor.each(function(err, doc) {
         console.log(doc);
    });
}

위 방식의 불편한 점은 동기화 문제이다.
cursor.each (function() {});  다 끝나기 전에
그 다음 줄 수행된다는 거.

그래서 다음과 같이 함수로 감싸줘서 사용한다.


var MongoClient = require('mongoldb').MongoClient;
var url = 'mongodb://localhost:27017/test';

var myfind = function(db, callback) {
    var cursor = db.collection('my_coll').find();
    cursor.each(function(err, doc) {
         if (doc != null) console.log(doc):
         else callback();
    });

};

MongoClient.connect(url, function(err, db) {
    myfind(db, function() { db.close(); });
}



댓글 없음:

댓글 쓰기