1

mongodbだから、初めて使用する私の試み(test.jsチュートリアルからのコピーと過去):

// Retrieve
var MongoClient = require('mongodb').MongoClient;

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/local", function(err, db) {
  if(!err) {
    console.log("We are connected");
  }
});

を起動するnode test.jsと、端末にエラーは表示されませんが、終了しません。「接続されました」とログに記録した後、わからないことを待ってスタックします。これは正常ですか?ありがとう。

一方、mongo実行可能ファイルを使用しても問題はありません。

mongo
show dbs

そして、残りのインターフェースが機能し、次のようにhttp://localhost:28017/listDatabases?text=1表示されます。

{ "databases" : [ 
    { "name" : "local",
      "sizeOnDisk" : 1,
      "empty" : true } ],
  "totalSize" : 0 }
4

2 に答える 2

0

MongoClient は mongodb への tcp 接続を開きます。これを行うと、アプリケーションは tcp ソケットを介してデータを待機しているため、ノード イベント ループによってアプリケーションが終了するのを防ぐことができます。

あなたの例の場合、接続しているので、コールバック内でデータベースへのクエリを開始できます。

于 2013-02-17T14:09:21.437 に答える
0

ローマンが示したように、MongoDB への接続を終了したら、接続を閉じる必要があります。そうしないと、プログラムを開いたままにします。

// Retrieve
var MongoClient = require('mongodb').MongoClient;

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/local", function(err, db) {
  if(!err) {
    console.log("We are connected");
  }

  // Use db
  ...

  // Done with db so close it.
  db.close();
});
于 2013-02-17T14:38:32.130 に答える