MongoDB - 对字符串字段执行$ divide

时间:2016-06-27 05:25:44

标签: mongodb casting aggregation-framework

我正在尝试对集合执行聚合查询。我想划分2个字段并检查它是否小于某个值。

这个db的制作方式,它将所有字段都作为字符串,这不是我现在真正可以改变的。我想知道是否有办法将值转换为数字,也许使用$ let或者其他东西?

因为我现在得到错误

exception: $divide only supports numeric types, not String and String

这是我尝试运行的那种查询的示例:

db.myCollection.aggregate([{
    "$project": {
        "mins": {
            "$divide": ["$ALOWOVRLTOTL", "$FEESCALLCOST"]}
         }
     },
     "$match": {
         "mins": {
              "$lte": 40
          }
      }
}])

1 个答案:

答案 0 :(得分:0)

您将无法对非数值执行divide操作。对此的可能解决方案是运行更新并将String值解析为数值。

看看这个问题: how to convert string to numerical values in mongodb