Aggiornare i dati annidati in MongoDB

In MongoDB ho una struttura dati simile a questa:

{
    'name': 'test',
    'anotherdoc': {
        'something': 'someval',
        'somenum': 1
    }
}

Adesso vorrei fare l'update del campo annidato 'something' e per farlo scrivo questa istruzione

collection.update({'_id': myid}, {$set: {'anotherdoc.something': 'newval'});

Questo codice mi inserisce un nuovo valore ma non ottengo il comportamento desiderato, ossia quello di aggiornare il campo esistente, in pratica ottengo questo a livello di dati

[
    {
        'name': 'test',
        'anotherdoc': {
            'something': 'someval',
            'somenum': 1
        }
    },
    ['anotherdoc.something', 'someval']
]

Qualcuno sa perché questa istruzione è sbagliata e saprebbe indicarmi come scriverla correttamente per aggiornare i dati annidati in MongoDB?

Aperta 4
MongoDB 05-06-2018 0 Risposte 687 Visite 0
Luca Fascime

Luca Fascime

Autore di questa domanda

Risposte ( 0 approvate )

Nessuna Risposta
Spiacenti! Non ci sono ancora risposte pubblicate per questa domanda. Affrettati ad essere il primo.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva