4

こんにちは、マングースでデータベースを切り替える方法はありますか? 私はそのようにできると思った:

mongoose.disconnect();
mongoose.connect('localhost',db);

しかし、うまくいきません。次のエラーが表示されます。

Error: Trying to open unclosed connection.

非同期だからかどうかはわかりません

4

5 に答える 5

2

非同期です。コールバック関数を渡して切断し、そのコールバックで次のデータベースに接続しようとすると、機能します。

元。

var mongoose = require('mongoose')

mongoose.connect('mongodb://localhost/test1', function() {
  console.log('Connected to test 1')
  mongoose.disconnect(connectToTest2)
})

function connectToTest2() {
  mongoose.connect('mongodb://localhost/test2', function() {
    console.log('Connected to test 2')
    process.exit()
  })
}
于 2013-07-25T15:54:06.607 に答える
0

これを実現する 1 つの方法は、データベース名にデータベース URL を追加することです。例: localhost を使用している場合

mongoose.connect('mongodb://localhost:portNumber/xyz_db');

このように接続すると、すべてのモデルがモデルの下の xyz_db にコレクションとして保存されます。

于 2021-07-22T12:15:32.937 に答える
-2

関数を使用する必要がありuseDbます。

于 2015-11-28T15:16:37.947 に答える