/ / Mongoengine… Wie kann ich zwei Felder vergleichen? - Python, Django, Mongodb, Mongoengine

Mongoengine ... Wie kann ich zwei Felder vergleichen? - Python, Django, Mongodb, Mongoengine

Zum Beispiel..

class Example(Document):
up = IntField()
down = IntField()

und .. Ich möchte Dokumente abrufen, deren Aufwärtsfeld größer oder gleich "down" ist. Aber das ist ein Problem.

Mein falscher Abfragecode wäre ..

Example.objects(up__gte=down)

Wie kann ich ein Feld, das sich in mongodb und nicht in Python-Code befindet, als Abfragesatz verwenden?

Antworten:

4 für die Antwort № 1

Einfache Antwort: nicht möglich. So etwas wie WHERE A = B in SQL ist in MongoDB nicht effizient möglich (abgesehen von der Verwendung der $ where-Klausel, die vermieden werden sollte).


0 für die Antwort № 2

das könnte sein, was Sie wollten ::

db.myCollection.find ({$ wobei: "this.credits == this.debits"});

Schau dir an: http://docs.mongodb.org/manual/reference/operator/query/where/

aber ich weiß nicht, wie man es in der mongoengine benutzt.