Я пытаюсь найти элементы во вложенном массиве и возвращать их, только если они соответствуют указанному условию c.
Сведения:
У меня есть эта модель:
var Conversation = new Schema({
name: { type: String, unique: true, required: true},
speakers: [{ // speakers array contain all speakers included and whether a speaker can view this conversation or not
user: {
type: Schema.Types.ObjectId,
ref: 'User',
},
canView: { // whether to show this conversation to this user
type: Boolean,
default: true,
},
}],
};
С помощью идентификатора пользователя "5e09658ccff71014da5d4a0c"
я хочу найти все разговоры, в том числе его и он может просматривать.
Сейчас я просто могу найти все разговоры, включая пользователя с:
Conversation.find({ 'speakers.user': { $all: ["5e09658ccff71014da5d4a0c"] } })
Но я не знаю, как указать условие (canView
)
Кто-нибудь может помочь?