table.delete[({:durability => "hard", :return_changes => false})] → object selection.delete[({:durability => "hard", :return_changes => false})] → object singleSelection.delete[({:durability => "hard", :return_changes => false})] → object
Delete one or more documents from a table.
The optional arguments are:
durability
: possible values are hard
and soft
. This option will override the table or query’s durability setting (set in run).return_changes
: true
: return a changes
array consisting of old_val
/new_val
objects describing the changes made, only including the documents actually updated.false
: do not return a changes
array (the default)."always"
: behave as true
, but include all documents the command tried to update whether or not the update was successful. (This was the behavior of true
pre-2.0.)Delete returns an object that contains the following attributes:
deleted
: the number of documents that were deleted.skipped
: the number of documents that were skipped.errors
: the number of errors encountered while performing the delete.first_error
: If errors were encountered, contains the text of the first error.inserted
, replaced
, and unchanged
: all 0 for a delete operation..changes
: if return_changes
is set to true
, this will be an array of objects, one for each objected affected by the delete
operation. Each object will have two keys: {:new_val=>nil,:old_val=><oldvalue>}
.RethinkDB write operations will only throw exceptions if errors occur before any writes. Other errors will be listed in
first_error
, anderrors
will be set to a non-zero count. To properly handle errors with this term, code must both handle exceptions and check theerrors
return value!
Example: Delete a single document from the table comments
.
r.table("comments").get("7eab9e63-73f1-4f33-8ce4-95cbea626f59").delete.run(conn)
Example: Delete all documents from the table comments
.
r.table("comments").delete.run(conn)
Example: Delete all comments where the field id_post
is 3
.
r.table("comments").filter({:id_post => 3}).delete.run(conn)
Example: Delete a single document from the table comments
and return its value.
r.table("comments").get("7eab9e63-73f1-4f33-8ce4-95cbea626f59").delete(:return_changes => true).run(conn)
The result look like:
{ :deleted => 1, :errors => 0, :inserted => 0, :changes => [ { :new_val => nil, :old_val => { :id => "7eab9e63-73f1-4f33-8ce4-95cbea626f59", :author => "William", :comment => "Great post", :id_post => 3 } } ], :replaced => 0, :skipped => 0, :unchanged => 0 }
Example: Delete all documents from the table comments
without waiting for the operation to be flushed to disk.
r.table("comments").delete(:durability => "soft").run(conn)
Couldn't find what you were looking for?
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/delete/