Монго выражение с переменным вводом

Я пытаюсь написать поиск Монго, который может удовлетворить два сценария. Один, где поле равно "Ложь", другой, когда поле может иметь любое значение.

Я придумал следующее:

  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)

Однако это не работает, как я могу получить поиск по шаблону с оператором $eq mongo?

1 ответ

Вы можете попробовать это:

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)
Другие вопросы по тегам