Ну, у меня есть база, которая ведет себя так:
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