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