MongoDBのshellで、クエリ結果をファイルに保存(または標準出力)する方法
クエリをjsファイルとしてあらかじめ用意して、mongoクライアントに渡してやるとうまくいきました。
query.js
var query = {action:"hoge"};
db.userlog.find(query).forEach(function(x){ print(x.user_id); });
上記query.jsファイルをmongoクライアントに食わせると、結果を標準出力に吐いてくれます。
$ mongo host/dbname query.js
MongoDB shell version: 2.0.1
connecting to: mem1/mycol
205368
206859
196658
152520
156449
156449
234470
MySQLやPostgreSQLでSQLファイル実行するような感覚で使えますね。
Enjoy!
追記
--quietオプションをつけると、余分な出力(バージョン表示とか)を抑制することができます。$ mongo --quiet host/dbname query.js
205368
206859
196658
参考:MongoDBのshellを使い倒す
カテゴリ:
MongoDB