2017-02-21 127 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 
}