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

Adding a document


The following snippets show how to create a document in a certain collection:

//get signature based on masterkey, collection resource id and resource type documents (docs)
  signature = GetSignature(masterKey, collectionRid, "docs", "POST");
  client.DefaultRequestHeaders.Remove("authorization");
  client.DefaultRequestHeaders.Add("authorization", signature);

  string json = JsonConvert.SerializeObject(new
  {
    id = Guid.NewGuid().ToString(),
    test = "hello DocumentDB, created via REST API!"
  });
  HttpContent contentPost = new StringContent(json); 
  //add payload to body
  //do the post against the REST API and create the document
  var postResponse = client.PostAsync(new Uri(baseUri, string.Format("dbs/{0}/colls/{1}/docs", deviceHubDb.ResourceId, collectionRid)),
  contentPost).Result;
  Console.WriteLine(postResponse.ReasonPhrase);

This time, we need to use the POST verb (which affects the authorization key as well). The payload of the PostAsync call is a JSON...