rethinkdbrethinkdb-python

How to remove a key from a RethinkDB document?


I'm trying to remove a key from a RethinkDB document. My approaches (which didn't work):

r.db('db').table('user').replace(function(row){delete row["key"]; return row}) 

Other approach:

r.db('db').table('user').update({key: null}) 

This one just sets row.key = null (which looks reasonable).

Examples tested on rethinkdb data explorer through web UI.


Solution

  • Here's the relevant example from the documentation on RethinkDB's website: http://rethinkdb.com/docs/cookbook/python/#removing-a-field-from-a-document

    To remove a field from all documents in a table, you need to use replace to update the document to not include the desired field (using without):

    r.db('db').table('user').replace(r.row.without('key'))
    

    To remove the field from one specific document in the table:

    r.db('db').table('user').get('id').replace(r.row.without('key'))
    

    You can change the selection of documents to update by using any of the selectors in the API (http://rethinkdb.com/api/), e.g. db, table, get, get_all, between, filter.