Comment $sous-sous-sous-éléments de tableau dans MongoDB

Je suis le développement d'une webapp qui dispose d'un portail-ish composante (penser comme plusieurs panneaux qui peuvent être des médicaments, autour d'une colonne à l'autre et ajoutés ou supprimés). J'utilise MongoDB pour stocker ces informations dans un format comme si...

{
    _id: ObjectId(...),
    title: 'My Layout',
    columns: [
        {
            order: 1,
            width: 30,
            panels: [
                { title: 'Panel Title', top: 100, content: '...' },
                { title: 'Panel Title', top: 250, content: '...' },
            ]
        },
        {
            ... multiple columns ...
        }
    ]
}

Je suis d'essayer d'utiliser atomique/modificateur opérations avec mise à jour() et cela devient confus. Si je voulais juste mettre à jour une propriété spécifique d'un panneau, comment dois-je faire référence?

update(
    { _id: ObjectId(...) },
    { $set: { columns.[???].panels.[???].top: 500 }
)

OriginalL'auteur T. Stone | 2010-08-13