我以为自己对mongodb感到很舒服,直到我遇到以下问题。我有以下格式的文档集合:
{
"_id" : ObjectId("4f876104d976649cbb1f6cf2"),
"course_list" : [
{
"course_id" : "AL101",
"Grade" : "A"
},
{
"course_id" : "PS101",
"Grade" : "B"
},
{
"course_id" : "EL101",
"Grade" : "B"
}
],
"user_name" : "jim"
}
我想删除数组“course_list”中的所有子文档,其中“Grade”与“A”不等。
我尝试了一堆不同的查询,但没有任何效果。但是,我认为以下内容肯定会起作用,但它也没有:
db.courses.update({'user_name' : 'jim'}, {$pull : {'course_list' : {'Grade' : {$ne : 'A'}}}})
运行上述命令时,我得到以下数组:
Cannot apply $pull/$pullAll modifier to non-array
有人能指出我正确的方向吗?
答案 0 :(得分:0)
JohnnyHK,
感谢您的评论。我的查询确实是正确的。正如您正确指出的那样,错误是因为course_list不是数组的文档。
- 苏