1
我想我已经得到了与MongoDB的很舒服,直到我跑了以下问题。我在下面的格式文档的集合:如何从文档数组中删除子文档<condition>?
{
"_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”,其中“级”不等于“A”的所有子文件。
我尝试了很多不同的查询,但没有奏效。不过,我认为以下将是肯定的工作,但它没有之一:
db.courses.update({'user_name' : 'jim'}, {$pull : {'course_list' : {'Grade' : {$ne : 'A'}}}})
我碰到下面的阵列,当我运行上面的命令:
Cannot apply $pull/$pullAll modifier to non-array
任何人都可以点我在正确的方向吗?
这工作时,我试了一下。您的集合中有其他文档,其中'course_list'不是数组? – JohnnyHK 2013-02-23 19:10:23
太棒了,我不知道$ pull - 我一直在返回文档,过滤数组并重新保存。没有任何帮助,但你已经帮助我,欢呼。 – 2013-02-24 00:06:56