2016-06-27 5 views
1

Ich versuche eine Aggregationsabfrage für eine Sammlung durchzuführen. Ich möchte 2 der Felder teilen und prüfen, ob das weniger als ein bestimmter Wert ist.

Wie diese db gemacht wurde, hat sie alle Felder als Strings, und das kann ich jetzt wirklich nicht ändern. Ich fragte mich, ob es eine Möglichkeit gäbe, die Werte als Zahlen zu verwenden, vielleicht mit $ let oder etwas?

Wie ich gerade den Fehler

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

Dies ist ein Beispiel für die Art der Abfrage ist Ich versuche zu laufen:

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

Antwort

0

Sie werden nicht in der Lage sein, die auszuführen divide Operation auf nicht-numerischen Werten. Eine mögliche Lösung wäre, eine Aktualisierung durchzuführen und die String Werte auf einen numerischen Wert zu analysieren.

Haben Sie einen Blick auf diese Frage: how to convert string to numerical values in mongodb

Verwandte Themen