mongoShell と node.js を適用した結果とは異なります。私の mongodb 環境ではシャード クラスターを使用しています。
mongoShell の結果
mongos> db.runCommand({aggregate : "collection", pipeline : my_pipeline(), allowDiskUse : true});
{
"result" : [ ],
"ok" : 1,
"$gleStats" : {
"lastOpTime" : Timestamp(1428399959, 408),
"electionId" : ObjectId("552363d7ddfce783509094e5")
}
}
node.jsの適用結果
var mongodb = require('mongodb');
var mongoClient = new mongodb.MongoClient(...);
mongoClient.open(function (err, mongoClient) {
var db = mongoClient.db(...);
db.command({aggregate : "collection", pipeline : my_pipeline(), allowDiskUse : true}, function (err) {
...
});
});
-->
MongoError: exception: failed to create temporary $out collection 'db.tmp.agg_out.12': { note: "from execCommand", ok: 0.0, errmsg: "not master" }
node.js アプリケーションで集計フレームワークのクエリを実行したい。
アプリケーションでこのクエリを実行するにはどうすればよいですか?