Mongoose запрашивает заполненное поле

   db.History.find({'_file.project': 'someproject' )
      .populate('_file', 'name reference project')
      .sort(sortField || '-created')
      .limit(max || 64)
      .exec(this);

Здесь я пытаюсь найти все документы, которые соответствуют заполненному полю из ссылки _file. Кажется, не работает. Возможно ли вообще что-то подобное?

Я мог бы дублировать поле проекта в этом объекте, как обходное решение для запросов, но я бы предпочел, конечно.

Ответ 1

Нет, параметр условий запроса find может ссылаться только на запрашиваемую коллекцию.

populate не является объединением, это просто удобная функция для отслеживания основного запроса с дополнительными запросами, чтобы вытащить связанные данные из других коллекций.