2017-02-21 120 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提供數字的數學運算。其餘部分由運算符支持。所需的計算可以使用表達式來完成,例如:

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

執行在收集此聚合管道將產生:

db.collection.aggregate(pipeline) 

樣本輸出

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