2017-02-09 5 views
1

A MongoDBのコレクションには、次のドキュメントがありますMongoose:複数の文書から特定の配列要素を削除するにはどうすればよいですか?

{ 
    c:"a1", 
    ss:[{q:"q1",d:"d1" },{q:"q1",d:"d2" }, {q:"q2",d:"d3" }] 
}, 
{ 
    c:"a1", 
    ss:[{q:"q1",d:"d4" },{q:"q1",d:"d5" }, {q:"q2",d:"d6" }] 
}, 
{ 
    c:"a2", 
    ss:[{q:"q1",d:"d4" },{q:"q1",d:"d5" }, {q:"q2",d:"d6" }] 
} 

は私が値「A1」で、Cと一致して、「Q1」としてのqを持つSS内のすべての配列要素を、削除する必要があります。私は次のコマンドを試したが、うまくいかなかった。私はあなたの提案を大変感謝します。ありがとう!

update({c:"a1"},{$pullAll:{ss:[{q:"q1"}]}}, {multi:true}) 

答えて

0

実際に働いていた次のコマンドを実行します。

 update({c:"a1"},{$pull:{ss:{q:"q1"}}}, {multi:true}) 

$ pullAllは完全なオブジェクトの配列を必要とするようです。オブジェクト内の部分プロパティの配列にすることはできません。

関連する問題