我需要在MongoDB的总量中计算此((86400 + (7200 - 28800)) % 86400)。可能吗?或需要在JavaScript上执行此操作。
是mongo支持部门的其余部分吗?

最佳答案

是的,很有可能。 arithmetic operators提供对数字的数学运算。其余的受$mod运算符支持。可以使用表达式完成所需的计算,例如:

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


在集合上执行此聚合管道将产生:

db.collection.aggregate(pipeline)


样本输出

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

关于node.js - MongoDB-数学计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42372114/

10-09 20:41