Python Mongoengine — получить первый документ с ненулевым значением в данном атрибуте

#python #mongoengine

#python #mongoengine

Вопрос:

Я пытаюсь получить первый документ с ненулевым значением в заданном атрибуте. Например, в БД коллекция Fruit выглядит следующим образом:

 Banana:
  weight: null
  colour: yellow
Apple:
  weight: 100
  colour: green
  

Я хочу, чтобы мой запрос возвращал документ Apple, потому что его вес является допустимым значением. Я пытался

 Fruit.objects.get(weight is not None).first()
  

но при выполнении моего запроса с postman я получаю сообщение об ошибке:

 Not a query object: True. Did you intend to use key=value?
  

Как я могу этого добиться?

Ответ №1:

Вам нужно использовать оператор запроса (doc) __ne :

 Fruit.objects.get(weight__ne=None).first()