我有一个MongoDB对象,比如:
{
"courseName": "ML",
"user": ObjectId("6087dc4c2ba7a828363c9fca"),
"questions": [
{
"topics": [
"a","b"
],
},
{
"topics": [
"a","b","d"
],
}
]
}
我想将具有courseName
和user
的问题查找为问题,我想删除与输入主题匹配的主题。
我该怎么做?
如果我的输入是["a"]
,那么更新输出应该看起来像:
{
"courseName": "ML",
"user": ObjectId("6087dc4c2ba7a828363c9fca"),
"questions": [
{
"topics": [
"b"
],
},
{
"topics": [
"b","d"
],
}
]
}
questions
中所有元素的$[]
位置和$in
运算符的检查条件
db.collection.updateMany(
{
"courseName": "ML",
"user": ObjectId("6087dc4c2ba7a828363c9fca"),
"questions.topics": { $in: ["a"] }
},
{
$pull: {
"questions.$[].topics": { $in: ["a"] }
}
}
)
游乐场