mongodbのスクリプト

テストツールでsetUpの時にdbをrevertするスクリプトを走らせている。

dump.js

/**
 * user collection
 */
db.users.drop();
db.users.save({ user_id : 'myatsumoto', name : 'akihiro matsumoto' });
/**
 * post collection
 */
var user_id = db.users.findOne({ user_id : 'myatsumoto' })._id;
db.posts.drop();
db.posts.save({ title : '今日について', content : '今日は泣きながら米を食べました。塩味になりました。', posted_by : user_id });

javascriptで書けるので便利。

shellからは

mongo db_name path/to/dump.js

node.jsで実行する場合には

var revert = function() {
    exec('mongo db_name path/to/dump.js', function (error, stdout, stderr) {
        if(error !== null) console.log(error);
    });
};
revert();

これで良い。