それで。私は非常に基本的なスクリプトを持っています。これはデータベースに接続しfind
、多くのドキュメントを含むコレクションに対して実行し、3つのアイテムに制限します。null
結果の最後に、成功した後に接続を静かに閉じる代わりに、スクリプトが終了しないことを除いて、すべてがスムーズに実行されます。
ここで、パラメータを宣言し、データベースオブジェクトを作成します。
var SERVER = 'localhost',
PORT = 27017,
DATABASE = 'test',
COLLECTION = 'coll',
mongo = require('mongodb'),
db = new mongo.Db(DATABASE,
new mongo.Server(SERVER, PORT, {auto_reconnect: true}),
{});
そして、ここでデータベースに接続し、find
カーソルとeach
関数を使用してデータベースのクエリを実行します。
db.open(function(err, db) {
if(err) throw err;
var collection = new mongo.Collection(db, COLLECTION),
cursor = collection.find({}, {}).limit(3);
cursor.each(function(err, doc) {
if(err) throw err;
console.log(doc);
});
db.close();
});
結果は素晴らしいです:
{ _id: '1',
a: 'first object' }
{ _id: '2',
a: 'second object' }
{ _id: '3',
a: 'third object' }
まで
null
が表示されます。
上で正確に述べたように、スクリプトは終了しないように進みます。
理由がわからないので、うまく終了させる方法についてのポインタをいただければ幸いです。