Я пытаюсь найти список студентов, которые закончили курсы, используя различные комбинации логических AND и OR.
Например, я хочу получить студента, который закончил («Курс 1» и «Курс 2»).) или "Курс 3"
Вот моя структура данных для каждого учащегося:
{
"_id" : ObjectId("5c68841cb6b18f31975c8fb0"),
"courses" : [
"Course 1", "Course 4"
]
}
Вот мой код:
db.getCollection('users').aggregate([
{
$match: {
"courses": {
$or: {
$all: ["Course 1","Course 2"],
$in : ["Course 3"]
}
}
}
}
])
Я пытался вкладывать разныеоператоры ($all
, $in
, $and
, $or
) и сбой.