三重にネストされた配列から属性を削除しようとしていますが、うまくいきません。削除したいデータの例を次に示します。
Controls: [
{
Name: 'ControlNumberOne',
Submit: {
Executes: [
{
Name: 'execute',
Type: 0
},
{
Name: 'anotherExecute',
Type: 0
}
]
}
},
{
Name: 'ControlNumberTwo',
Submit: {
Executes: [
{
Name: 'anotherFromAnotherControl',
Type: 1
}
]
}
}
]
次の更新クエリを試しましたが、どれも機能しませんでした:
db.Page.update('Controls.Submit.Executes.Type': { $exists : true } }, { $unset : { 'Controls.Submit.Executes.Type' : 1 } }, false, true);)
db.Page.update('Controls.Submit.Executes.Type': { $exists : true } }, { $unset : { 'Controls.$.Submit.Executes.$.Type' : 1 } }, false, true);)
ただし、実行するdb.Page.find('Controls.Submit.Executes.Type': { $exists : true } })
と、まだ Type 属性を持つすべての実行が返されます。
これは達成できますか?ありがとう!