find()
не возвращает значение со свойством length
, но обещание. Так что вам нужно await
find()
, а не find().length
. Используйте круглые скобки:
(await Offer.find({
tour: tour._id,
offerStatus: 'new'
})).length
Примечание: возможно, такие ошибки будут встречаться реже, если мы уделим больше внимания тому, как мы говорим об обещаниях. Не говорите "внутреннее обещание возвращает ноль" , но: "внутреннее обещание разрешает к нулю" . Потому что: обещания ничего не возвращают - они не функции, а просто объекты. Эти объекты изменяют состояние при разрешении со значением или отклонении по причине.