Пн goose, заполнение не работает с $ match - PullRequest
0 голосов
/ 13 февраля 2020

Ну, у меня есть база, которая ведет себя так:

const User = new mongoose.Schema({
  name: String,
  ...
});

const Tag = new mongoose.Schema({
  code: String,
  status: {
    type: String,
    enum: ['LIBERATE','BINDED','INACTIVE']
  },
  user: {
    type: Schema.Types.ObjectId,
    ref: 'user'
  }
});

const Vehicle = new mongoose.Schema({
  name: String,
  tag: {
    type: Schema.Types.ObjectId,
    ref: 'tag'
  }
});

Мне нужно, чтобы при отсутствии соответствующего пользователя не возвращался элемент, следующий за этим запросом:

Vehicle.find()
  .populate({
    path: 'tag',
    match: { status: 'BINDED'},
    populate: {
      path: 'user',
    }
  });

Теги со статусом, отличным от BINDED, не будут иметь соответствующего пользователя. Однако в этой модели я возвращаю все теги.

Пн goose 5.7.7

MongoDB 4.2.3

узел 12.15.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...