2016-04-08 1 views
1

Ich muss eine Berechnung basierend auf MongoDB Daten vornehmen. Ich habe versucht, die API zu betrachten, und ich kann es nicht herausfinden. Der Einfachheit halber möchte ich sagen, dass ich zwei Variablen (a & b) aus einem Dokument in MongoDB nehmen und sie mit Python subtrahieren möchte.Berechnungen mit PyMongo

JSON/MongoDB:

{ 
    "math" : { 
     "variableone" : 3, 
     "variabletwo" : 4, 
    } 
} 

Python-Code:

def calculation(): 
    variableone = 3     #from MongoDB Document 
    variabletwo = 4     #from MongoDB Document 
    sum = variableone - variabletwo 
    print(sum) 

calculation() 

Wie würde ich dies zu tun in der Lage?

+0

Haben Sie dies für alle Dokument in Ihrer Sammlung Appy wollen? Warum machst du nicht diese Seite? – styvane

Antwort

0

Können sagen, Sie haben Dokumente wie:

{ 
    "math" : { 
     "variableone" : 3, 
     "variabletwo" : 4, 
    } 
} 

{ 
    "math" : { 
     "variableone" : 3, 
     "variabletwo" : 4, 
    } 
} 

Sie sie mögen laufen kann:

for each in collection_name.find(): 
    var1 = each['math']['variableone'] 
    var2 = each['math']['variabletwo'] 
    sum = var1 + var2 
    print(sum) 

oben Code Wie funktioniert:

collection_name.find_one gibt einen Cursor, die Sie verwenden können Iteriere alle Dokumente.

Dann greifen Sie auf innere Schlüssel des Dokuments wie ein Diktat (oder eine Liste. Es hängt von der Struktur des Dokuments).

for Schleife iterieren auf den Cursor, jedes Dokument einzeln abzurufen und die Variablen in lokalen var1 und var2 zu speichern. Dann können Sie mit diesen lokalen Variablen arbeiten und die Summe drucken oder tun, was Sie wollen.

Wenn Sie Bedingungen wollen verwenden, während Dokumente abfragen, können Sie find() wie:

collection_name.find({'math.variableone':3})