2017-02-21 19 views
1

MongoDBの集約でこれを計算する必要があります。((86400 + (7200 - 28800)) % 86400)出来ますか? JavaScriptでこれを行う必要があります。 mongoサポートは部門の残りの部分ですか?MongoDB - 数学計算

+0

[MOD] (https://docs.mongodb.com/manual/reference/operator/query/mod/)が役立ちます – Veeram

答えて

1

はい、可能です。 arithmetic operatorsは数値に対して数学演算を提供します。残りは$modオペレータでサポートされています。所望の計算は、例えば、式を使用して行うことができる:コレクションにこの集約パイプラインを実行する

pipeline = [ 
    { 
     "$project": { 
      "result": { 
       "$mod": [ 
        { 
         "$add": [ 
          86400, 
          { "$subtract": [7200, 28800] } 
         ] 
        }, 
        86400 
       ] 
      } 
     } 
    } 
] 

が得られます:

db.collection.aggregate(pipeline) 

をサンプル出力

{ 
    "_id" : ObjectId("58aacd498caf670a837e7093"), 
    "result" : 64800 
}