2016-06-27 3 views
1

コレクションに対して集約クエリを実行しようとしています。私は2つのフィールドを分割し、これが特定の値より小さいかどうかを確認したい。

このデータベースが作成された方法は、すべてのフィールドを文字列として持っていますが、これは私が実際に変更できるものではありません。値を数値としてキャストする方法があるかどうか、おそらく$ letや何かを使っているのだろうか?

それは私は現在、エラー

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

は、これは私が実行しようとしていますクエリの種類の一例である取得されたよう:

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

答えて

0

あなたが実行することはできませんdivide数値以外の値に対する操作。これを解決するには、更新を実行して数値を数値に解析することがあります(String)。

この質問をご覧ください: how to convert string to numerical values in mongodb

関連する問題