Book Image

Getting Started with RethinkDB

By : Gianluca Tiepolo
Book Image

Getting Started with RethinkDB

By: Gianluca Tiepolo

Overview of this book

RethinkDB is a high-performance document-oriented database with a unique set of features. This increasingly popular NoSQL database is used to develop real-time web applications and, together with Node.js, it can be used to easily deploy them to the cloud with very little difficulty. Getting Started with RethinkDB is designed to get you working with RethinkDB as quickly as possible. Starting with the installation and configuration process, you will learn how to start importing data into the database and run simple queries using the intuitive ReQL query language. After successfully running a few simple queries, you will be introduced to other topics such as clustering and sharding. You will get to know how to set up a cluster of RethinkDB nodes and spread database load across multiple machines. We will then move on to advanced queries and optimization techniques. You will discover how to work with RethinkDB from a Node.js environment and find out all about deployment techniques. Finally, we’ll finish by working on a fully-fledged example that uses the Node.js framework and advanced features such as Changefeeds to develop a real-time web application.
Table of Contents (15 chapters)
Getting Started with RethinkDB
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Preface
Index

Deleting data


Now that we have some data in our database, we can look at how we can delete specific documents. As usual, the query is very straightforward. The first thing to do is select the document to be deleted. This can be done using the document's primary key or using the filter() command. The next step is chaining the delete() command at the end of the query.

As an example, let's delete Ted's document from the people table:

r.table('people').filter({"name": "Ted"}).delete()

First, we select the correct table, then we use the filter() command to specify the predicate. In this case, we filter documents that have the name attribute equal to Ted. Finally, we call the delete() command. The resulting JSON indicates that one document has indeed been removed:

{
"deleted": 1 ,
"errors": 0 ,
"inserted": 0 ,
"replaced": 0 ,
"skipped": 0 ,
"unchanged": 0
}

Removing all documents

Occasionally, we may want to clear the entire table by removing all the documents contained in it. As in the previous section...