Book Image

Learning Azure DocumentDB

By : Riccardo Becker
Book Image

Learning Azure DocumentDB

By: Riccardo Becker

Overview of this book

Learning DocumentDB adopts a practical, step-by-step approach to help you learn the basics of DocumentDB and use your new-found abilities in real-life scenarios and enterprise solutions. We start with the absolute basics, such as setting up a DocumentDB environment, and guide you through managing your databases, and executing simple and complex queries. Next, we explain how to work with DocumentDB using the open REST protocol, and demonstrate how JavaScript works with DocumentDB. We’ll also show you how to authenticate and execute queries. Moving on, you’ll find out how to use DocumentDB from within Node.js to kick-start your Node.js projects. Next, you’ll discover how to increase the performance of your DocumentDB database and fine-tune it. Finally, you’ll get to grips with using DocumentDB in conjunction with other services offered from the Microsoft Azure platform.
Table of Contents (15 chapters)
Learning Azure DocumentDB
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Deleting documents


In this section, we will demonstrate how to delete a document from your collection. DocumentDB does not support deleting batches of documents or a whole range of documents. You need to delete them one by one, using the SelfLink property.

The following code snippet demonstrates how to delete a single document:

var documentByLinqToObjects = client.CreateDocumentQuery<PersonInformation>(collection.DocumentsLink)
  .Where(personInformation => personInformation.FirstName.Equals("Riccardo")
  && personInformation.LastName.Equals("Becker")).AsEnumerable<PersonInformation>().First();
  ////if the document exists, delete it and recreate it.  
  if (null != documentByLinqToObjects)
  {
    await client.DeleteDocumentAsync(documentByLinqToObjects.SelfLink);
  }

Deleting a whole range of documents (if the query returns multiple documents) is not yet possible in one call. This is because we need the SelfLink property to the document in order to delete it. A possible...