mongoose プラグインを使用して mongodb データを移行するために使用する移行モジュールを入手した人はいますか?
現在、「移行」モジュールを使用していますが、アップ/ダウンごとに接続を作成/破棄する必要があるという事実を除いて、うまく機能します。
IE
// Setup mongoose
var mongoose = require('mongoose')
, Role = require('../models/role')
, User = require('../models/user');
exports.up = function(next) {
// get a brand new connection for this patch.
mongoose.connect('mongodb://localhost/sagedb');
var adminUser = {
username: 'admin',
password: 'admin'
};
User.createUser(adminUser, function(err, user) {
if (err) {
mongoose.disconnect(); // Make sure to close connection
return next(err);
}
mongoose.disconnect(next); // Make sure to close connection
});
};
exports.down = function(next) {
mongoose.connect('mongodb://localhost/sagedb'); // new connection for down
User.getUserByUsername('admin', function(err, user) {
if (err) {
mongoose.disconnect(function() { // make sure to close connection
return next(err);
});
}
if (!user) {
mongoose.disconnect(); // make sure to close connection
return next();
}
User.deleteUser(user, function(err, user) {
console.log('deleted user');
mongoose.disconnect(next); // make sure to close connection
});
});
};
おそらくこれを行うためのはるかに良い方法です。唯一のオプションは、接続を一度開始し、すべてのパッチが完了したときに接続を閉じる独自のモジュールを作成することであるかどうか疑問に思っています。
データベース コレクションの移行を追跡する mongoose-migrate を見てきました。私見のマングースに固有のものではありませんが、.migrateファイルを引き続き使用したいのですが、接続を1回開くだけで済みます。