Ich habe ein runningPnL Feld und ein Textfeld sowie ein Datumsfeld.
ich tun möchte:
wenn die Beschreibung ist "Breakup" dann multipliedPnL = 2 * runningPnL
sonst multipliedPnL = runningPnL
mein Code:mongodb: Wie multipliziert man ein Feld mit einer Konstanten in einem if elect branket
db.getCollection('user0').aggregate(
[
{
$project:
{
thedate: 1,
realPnL:
{
$cond: { if: { $gte: [ "$description", "Breakup" ] }, then: {$multiply:[$runningPnL,2]}, else: $runningPnL}
}
}
}
]
)
Theres ein Referenzfehler: runningPnL nicht definiert. WHats falsch mit meinem Code? THX viel im Voraus für Ihre Hilfe!
Haben Sie die Feldvariablen in Anführungszeichen versucht umschließt, z.B. der Teil 'then: {" $ multiplizieren ": [" $ runningPnL ", 2]}, sonst:" $ runningPnL "'? – chridam
Sie müssen uns Ihr Beispieldokument (Sammlungsdaten) zeigen, um zu sehen, wo sich "runningPnL" befindet. Ich denke, das wird uns sagen, wie wir zu "runningPnl" kommen. Aber dein Code sieht korrekt aus. – JBone
haha, das funktioniert! vielen Dank! –