Ich spiele gerade mit dem neuen mongodb-Datentyp NumberDecimal
. Ich baue im Allgemeinen wissenschaftliche Apps, die genaue Präzision erfordern (oder so genau wie möglich), also frage ich mich, wie ich es benutzen kann.MongoDB NumberDecimal: nicht unterstützte Operandentypen für +: 'Decimal128' und 'Decimal128'
Eine der Apps, die ich erstelle, ist eine Python-Flask-App, die Daten aus einer Datenbank abruft und verschiedene Berechnungen durchführt. Allerdings, wenn ich ein NumberDecimal
von mongodb ziehen (sie NumberDecimal('24.55')
sagt) und versucht, einen hinzuzufügen, es fügen Sie es zu einer bson.decimal128.Decimal128
Nummer ich in Python erstellt bekomme ich folgende Fehlermeldung:
TypeError: unsupported operand type(s) for +: 'Decimal128' and 'Decimal128'
Und wenn ich versuche zu konvertieren NumberDecimal
-decimal.Decimal
(oder etwas anderes):
TypeError: Cannot convert Decimal128('24.55') to Decimal
Also ich denke, ich ein paar Fragen: (1) ist es trotzdem, diese NumberDecimal
zu irgendetwas zu konvertieren ich in python verwenden kann, (2) wenn nicht, ist dort ein Datentyp Ich kann alle meine anderen Zahlen in die mit 012 kompatibel konvertieren, (3) wenn nicht, scheint mir die einzige Möglichkeit, die ich verwenden kann, serverseitig mit Hilfe des Aggregation-Frameworks (gibt es andere Anwendungsfälle)?
Super danke mein Mann! Mir ist klar, dass die Kopfschmerzen bei der Verwendung dieser "Präzisions" -Wrapper nicht wirklich den vernachlässigbaren Gewinn an Präzision/Genauigkeit wert sind, haha –