Non è necessario utilizzare Sostituisci per aggiornare l'intero documento. Ecco la relativa documentazione: ReQL command: literal
Assumere il documento utente è simile al seguente:
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"city": "Dallas",
"job": "Engineer"
}
}
e si desidera rimuovere l'età dalla proprietà dei dati. Normalmente, l'aggiornamento semplicemente unirà i tuoi nuovi dati con i vecchi dati. r.literal può essere usato per trattare l'oggetto dati come una singola unità.
r.table('users').get(1).update({ data: r.literal({ age: 19, job: 'Engineer' }) }).run(conn, callback)
// Result passed to callback
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"job": "Engineer"
}
}
o
r.table('users').get(1).update({ data: { city: r.literal() } }).run(conn, callback)
// Result passed to callback
{
"id": 1,
"name": "Alice",
"data": {
"age": 19,
"job": "Engineer"
}
}
fonte
2017-06-28 18:31:09
Se stai cercando la versione javascript della ricetta: http://rethinkdb.com/docs/cookbook/javascript/#removing-a-field-from-a-document – neumino
Come posso fare questo per campo nidificato di chiave? – Suvitruf
@Suvitruf, è possibile utilizzare la sintassi del campo nidificato come segue: '.replace (r.row.without ({key1: {key2: true}}))' – BarthesSimpson