Есть ли способ запросить документ на основе ссылки на объект под-документа? - PullRequest
0 голосов
/ 24 апреля 2020

Предположим, у нас есть схема, которая выглядит следующим образом:

const RandomSchema = new Schema({
  name: String,
  randomField: String,
  subDoc: {
    name: String,
    refDoc: {
      type: Schema.Types.ObjectId,
      ref: 'OtherModel',
      required: true,
    },
  },
}, options);

Наша OtherModel имеет схему, которая выглядит следующим образом:

const OtherModel = new Schema({
  name: String,
  funFact: String,
}, options);

Из внешнего интерфейса моего приложения Я хотел бы запросить модель RandomSchema и вернуть все экземпляры этой модели, где subDoc.refDoc.funFact === someValue.

Возможно ли это? Я знаю, что у нас есть способы заполнить эти поддельные документы при их возврате, но это происходит только после того, как были возвращены соответствующие документы, когда в этом случае нам нужно знать больше, чем просто идентификатор объекта refDo c.

1 Ответ

0 голосов
/ 24 апреля 2020

Если задействовано несколько коллекций, эта задача требует использования конвейера агрегации.

...