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(); }); }
댓글 없음:
댓글 쓰기