【发布时间】:2019-07-15 16:32:52
【问题描述】:
我正在尝试使用逻辑 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)但失败了。
【问题讨论】:
-
你能出示样本文件吗
-
@AnthonyWinzlet 我更新了问题
标签: arrays mongodb aggregate logical-operators