2016-11-07 9 views
1

私はMongoDBの集計で発見され、私の平均が検挙値ラウンドアップの平均値

[ 
     { 
     "_id": "581c3d9c55421c16ecaf0b26", 
     "uDept": "CoE Design & Research", 
     "uName": "Saurabh Raman", 
     "rateVal": 3, 
     "timeStamp": "11/4/2016 13:17", 
     "__v": 0 
     }, 
     { 
     "_id": "581c437ea3d9f6087ce3b21e", 
     "uDept": "CoE Design & Research", 
     "uName": "Sachin P Singh", 
     "rateVal": 4, 
     "timeStamp": "11/4/2016 13:42", 
     "__v": 0 
     }, 
     { 
     "_id": "581c6d74a3d9f6087ce3b21f", 
     "uDept": "Training", 
     "uName": "Rahul Shakya", 
     "rateVal": 4, 
     "timeStamp": "11/4/2016 16:35", 
     "__v": 0 
     } 
    ] 

私は「rateVal」の平均値を取得するために実行したクエリ

db.calcR.aggregate([ 
    { 
      $group: { 
       _id: null, 

       avg: {$avg: '$rateVal'}, 

      } 
    } 
を思い付くしたいです

出力は{ avg: 3.6666 }ですが、理想的に私はモンゴに値を丸めるために4

[ 
    { 
    "_id": null, 
    "avg": 3.6666666666666665, 

    } 
] 

答えて

2

として表示しますあなたはどちらか$ceilまたは$floor

db.calcR.aggregate([ 
    { 
      $group: { 
       _id: null, 

       avg: {$avg: '$rateVal'}, 

      }, 
      $project:{ 
       _id: '$_id' , 
       roundedAvg : { $ceil: '$avg' } 
      } 
    }] 

出力を使用することができ、DB

[ 
    { 
    "_id": null, 
    "roundedAvg": 4, 

    } 
] 
のように見えます