2016-10-25 5 views
0

Ich versuche, eine Mongo-Suche zu schreiben, die für zwei Szenarien sorgen kann. Einer, bei dem das Feld gleich "False" ist, der andere, wenn das Feld ein beliebiger Wert sein kann.Mongo-Ausdruck mit variabler Eingabe

if p: 
    # supposed to be my wild card expression 
    mongoExp={"$eq": {"$or":[{False},{"$ne":False}}} 
    else: 
    # where field is equal to False 
    mongoExp={"$eq": False} 

    cursor=self.zel.find({"xxx": mongoExp}).sort("field1", pymongo.DESCENDING) 

Allerdings arbeiten diese nicht, wie kann ich eine Wildcard-Suche mit dem $ eq Mongo Betreiber erhalten:

Ich habe mit den folgenden kommen?

Antwort

0

Sie konnten dieses versuchen:

if p: 
    # supposed to be my wild card expression 
    mongoExp={"$or":[{"$eq":False},{"$ne":False}]} 
    else: 
    # where field is equal to False 
    mongoExp={"$eq": False} 

    cursor=self.zel.find({"xxx": mongoExp}).sort("field1", pymongo.DESCENDING)