00:01 We've seen how powerful adding indexes to MongoDB is 00:04 and I talked a little bit how the nested nature of these documents means 00:09 there's naturally fewer primary keys, 00:11 so there's fewer on average actual indexes 00:15 that get created just as part of working with the database; 00:18 so creating these indexes is even more important in document databases 00:22 than it is in relational databases. 00:24 So here we are in the shell, this would be Robomongo 00:27 or just the Mongo command line interface 00:30 and we can create an index on a collection by saying db.collection name 00:33 so here we have cars.createIndex 00:35 and then we pass it two things, first one required, second one optional 00:39 we pass it the actual fields we want to create the index on; 00:44 so here we have service_history.customer_rating 00:48 so we could traverse this hierarchy if necessary 00:51 we just use that dot like we have been in the shell the whole time 00:55 and then we say one or minus one, 00:57 so do you want to sort ascending or descending. 00:59 And this mostly matters for either what you might consider the natural sort 01:03 or if you're doing a composite key or a composite index 01:08 and that composite index is being used for sorting on both fields 01:12 and all the orders have to line up exactly for the sort to use that index. 01:17 Then we can pass additional information, 01:19 here we have background as true and the name, 01:21 I like to name my indexes if I'm doing this shell 01:24 because then it's easier to see like okay why did I create this index 01:28 here we want the customer ratings of service, 01:31 so that's pretty nice, background true, that's not the default 01:35 but that means it will run basically in the background 01:38 without blocking the database operations, 01:41 if you don't put that, when you hit go 01:43 the database will stop doing any sort of database stuff 01:46 until this index is generated so be aware.