为什么$ abs运算符给结果-1如果我向它传递-1。

时间:2018-05-21 05:08:13

标签: mongodb

我只是想从中学习$ abs聚合表达式 https://docs.mongodb.com/manual/reference/operator/aggregation/abs/#exp._S_abs

但是当我执行这个表达式{$ abs:-1}时,它返回-1而不是1

enter image description here

1 个答案:

答案 0 :(得分:2)

这是一个聚合管道运算符,因此您必须在聚合函数中使用,而不仅仅是{ $abs: -1 },如您在问题中所示。你可以尝试这个它应该工作。

例如:

db.getCollection('Employee').aggregate([
   {
     $project: { amount: { $abs: "$negativeOrPositiveAmount" } }
   }
])

注意:$ negativeOrPositiveAmount需要按实际字段名称更改或者检查可以使用-1