我需要在MongoDB的聚合中计算这个((86400 + (7200 - 28800)) % 86400)。有可能吗?或者需要在JavaScript上这样做。蒙戈是否支持除法的其余部分?
((86400 + (7200 - 28800)) % 86400)
发布于 2017-02-21 16:05:57
是的,很有可能。算术算子提供对数字的数学运算。$mod操作符支持其余部分。可以使用表达式完成所需的计算,例如:
pipeline = [ { "$project": { "result": { "$mod": [ { "$add": [ 86400, { "$subtract": [7200, 28800] } ] }, 86400 ] } } } ]
在集合上执行此聚合管道将产生以下结果:
db.collection.aggregate(pipeline)
样本输出
{ "_id" : ObjectId("58aacd498caf670a837e7093"), "result" : 64800 }
https://stackoverflow.com/questions/42372114
相似问题