こんにちは、マングースでデータベースを切り替える方法はありますか? 私はそのようにできると思った:
mongoose.disconnect();
mongoose.connect('localhost',db);
しかし、うまくいきません。次のエラーが表示されます。
Error: Trying to open unclosed connection.
非同期だからかどうかはわかりません
非同期です。コールバック関数を渡して切断し、そのコールバックで次のデータベースに接続しようとすると、機能します。
元。
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()
})
}
これを実現する 1 つの方法は、データベース名にデータベース URL を追加することです。例: localhost を使用している場合
mongoose.connect('mongodb://localhost:portNumber/xyz_db');
このように接続すると、すべてのモデルがモデルの下の xyz_db にコレクションとして保存されます。
関数を使用する必要がありuseDb
ます。