2014-04-03 14 views
18

ho questo oggetto:Come aggiungere un elemento ad un array in rethinkdb

{ 
    "id": "eb533cd0-fef1-48bf-9fb8-b66261c9171b" , 
    "errors": [ 
     "error1" , 
     "error2" 
    ] 
} 

voglio semplicemente per aggiungere un nuovo errore per gli errori di allineamento. Ho provato:

r.db('test').table('taskQueue').get("eb533cd0-fef1-48bf-9fb8-b66261c9171b").update({'errors': r.row['errors'].append('appended error')}) 

ma questo non ha funzionato. Dà questo errore: "TypeError: r.row.errors is undefined"

La mia domanda è come aggiungere un array?

risposta

25
r.db('test').table('taskQueue').get("eb533cd0-fef1-48bf-9fb8-b66261c9171b").update({ 
    errors: r.row('errors').append('appended error') 
}) 

Quindi non r.row['errors'], ma r.row('errors').

+0

Grazie per questa risposta. Noob question about it, if 'eb533cd0-fef1-48bf-9fb8-b66261c9171b' è un documento enorme, il primo 'go' non sarà costoso? per esempio. ci sarebbe un modo per aggiungere semplicemente un elemento direttamente nel datatype, invece di recuperare il documento completo e quindi sostituire l'intero array in esso? – kvz

Problemi correlati