0

私のMongoDBデータベース、コレクションにそのような構造がありますtransactions_dev

{
   "_id": ObjectId("4f7aab939e2530cc028552f2"),
   "count": 1,
   "item-id": 2230494020,
   "price": 34.99,
   "seller-id": 16435416,
   "time": "20120403",
   "type": "now" 
}

私はそれを別のコレクションに保存したいと思います.andによってグループ化されますseller-idtime各セラーIDの毎日の売上(SUM(価格))を提示したいと思います)。

そうするために、私はこの mapreduce を書きました:

db.runCommand({
mapreduce: "transactions_dev",
map: function() { emit(
    { t: this.time, s: this.seller-id},
    { msum: this.price }
);},
reduce: function(key, vals) {
    var ret = {msum: 0};
    for(var i=0; i< vals.length; i++) {
        ret.msum += vals[i].msum;
    }
    return ret;
},
out: 'result1',
verbose: true
});

しかし、私はそのような例外を得ています:

"errmsg" : "exception: map invoke failed: JS Error: ReferenceError: id is not defined nofile_b:1",
    "code" : 9014,

これは、削減されたデータの _id フィールドを明示的に定義する必要があるということですか?

どうやってするの?

4

1 に答える 1