mongooseからだとexecも使えない

mongooseの闇の部分を見てしまった気がする。

var db = mongoose.connect('mongodb://localhost:27017/db_name');

のコードが入ると

var exec = require('child_process').exec;
exec('mongoose db_name hoge.js', function (error, stdout, stderr) {
    if(error !== null) console.log('error', error);
});

のようなコードが実行できなくなる、というよりは反映されなくなる。
外部からシェルで実行させても上手くいかない。pwdなどは実行できるのでコネクションの問題の気もするが・・・

どうも、コネクションの問題ではなくprocessがexitされる前に実行できなかったという問題のようだった。
execブロックの中に終了処理を仕込めば良い。当然の処理を抜かすという凡ミスだった。

var exec = require('child_process').exec;
exec('mongoose db_name hoge.js', function (error, stdout, stderr) {
    if(error !== null) console.log('error', error);
    // exit的処理
});

これは単純にミスの記録でしかないので、残す価値が無い。