You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
3.4 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

00:01 All right, the moment you've probably been waiting for is finally here,
00:04 we're going to start moving away from Javascript
00:06 and doing Python for the rest of this course to talk to MongoDB.
00:09 That doesn't mean we might not use the Javascript API in the shell,
00:12 just a little bit more, but for the most part
00:14 we're going to focus now on writing applications
00:17 that talk to and work with MongoDB.
00:19 So we're going to look at in MongoDB's nomenclature
00:23 something called a driver, so a driver is the underlying library or framework
00:27 that you used to talk between your application and MongoDB.
00:30 So here we've got our web app
00:33 and it's going to be using the database MongoDB here.
00:35 A request is going to come in, into our web app
00:38 and it's going to use a particular package, right,
00:40 this is not built into Python, this is something we have to go out and get.
00:43 So the package that we're going to work with
00:45 is built and maintained by MongoDB themselves, and is called PyMongo.
00:50 So this is the core, lowest level access to the database server
00:54 and it does the tone of things for us,
00:56 in fact if you look at many of the odms the object document mappers
01:00 the equivalent of the NoSql orm, they build upon PyMongo, right
01:04 so PyMongo is almost always involved
01:06 when you're talking to MongoDB from Python.
01:09 And it does many things for us, it connects to the database
01:12 whether it's local, remote, over ssl, with authentication, with certificates,
01:16 all that kind of stuff, it actually manages replica sets
01:20 so it knows how to find all the different servers participating in a replica
01:24 and do the fail over if one fails,
01:27 it knows how to go over to the other one, things like that;
01:30 it also knows how to deal with sharding,
01:32 so maybe you have a cluster of ten MongoDB servers
01:36 that are all managing part of the data
01:38 and then participate as a group in the queries, PyMongo does that for us,
01:41 this is generally where you do the crud operations,
01:44 the find, insert, update, delete, and those kinds of things;
01:47 you do the other admin stuff as well,
01:49 like drop tables or create indexes and so on,
01:53 and it even does connection pulling,
01:55 so really this does all the stuff that you need to talk to MongoDB
01:58 and the api is very, very, very similar to what we saw with the Javascript API
02:03 which is why I didn't skim over it, I wanted to say, okay,
02:06 you really learned the Javascript api,
02:08 now you basically also know the PyMongo api,
02:11 findOne with a capital O, no spaces,
02:13 is now find_one, with a lower case o, for example,
02:17 there's a few variations for like say pythonic naming
02:20 but other than that, PyMongo is going to sound
02:22 and feel very, very familiar to you at this point.
02:26 Like many things from MongoDB, PyMongo is open source
02:29 so you can come over here to github.com/mongodb/mongo-python-driver,
02:35 and that is PyMongo.
02:37 So you'll see that you can go look around,
02:40 you can see it's under active development and things like that,
02:43 a lot of stars, so this is like I said, the official driver
02:45 but you also have access to the source, right here.
02:48 So now that we know about PyMongo,
02:50 I hope you're ready to go write some code.