Próbuję usunąć atrybut z potrójnie zagnieżdżonej tablicy bez powodzenia. Oto przykład danych Chcę usunąć:MongoDb: Jak wyzerować atrybut z zagnieżdżonych tablic?
Controls: [
{
Name: 'ControlNumberOne',
Submit: {
Executes: [
{
Name: 'execute',
Type: 0
},
{
Name: 'anotherExecute',
Type: 0
}
]
}
},
{
Name: 'ControlNumberTwo',
Submit: {
Executes: [
{
Name: 'anotherFromAnotherControl',
Type: 1
}
]
}
}
]
Próbowałem następujące zapytania aktualizacji, ale żaden z nich nie pracował:
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);)
Jednak jeśli wykonam db.Page.find('Controls.Submit.Executes.Type': { $exists : true } })
i t zwraca wszystkie Executy, które wciąż mają atrybut Type.
Czy można to osiągnąć? Dzięki!
Twój 'Executes' wydaje się być przedmiotem, a nie tablicą. – madhead
masz rację, źle to napisałem ... proszę, spójrz na to teraz! – faloi