我有一个集合名为MongoDB的教师与一些文档,这里是一个例子:
{
"_id" : ObjectId("63a89cdae570d47034c996ec"),
"teachingCategories" : [
[
ObjectId("63a40c7e54351f6071b25abd"),
ObjectId("63a65195075c0031b1bd2e81")
],
[
ObjectId("63a40b4654351f6071b25a82"),
ObjectId("63a41d5d54351f6071b25acf"),
ObjectId("63a44bdc54351f6071b25b9a")
],
[
ObjectId("63a40c7e54351f6071b25abd"),
ObjectId("63a651d6075c0031b1bd2e87")
]
]
}
我正在寻找类别id如下的教师
db.collection("teachers").find({ teachingCategories: ObjectId("63a44bdc54351f6071b25b9a") })
但是mongodb没有返回任何
由于teachingCategories
在您的文档中是arrays
在array
中您可以尝试这样做
db.teachers.find({
teachingCategories: {
$elemMatch: {
$elemMatch: {
$in: [ObjectId("63a44bdc54351f6071b25b9a")]
}
}
}
})
类似于在MongoDB中查询数组的数组