Difference between revisions of "FIND basics"
Line 45: | Line 45: | ||
<p class=strong>List all the countries in the continent of Asia</p> | <p class=strong>List all the countries in the continent of Asia</p> | ||
<pre class=def> | <pre class=def> | ||
− | |||
</pre> | </pre> | ||
<div class=ans> | <div class=ans> | ||
Line 53: | Line 52: | ||
<div class=q data-lang="py3"> | <div class=q data-lang="py3"> | ||
− | |||
<p class=strong>Find the capital cities for countries with a population of over 70 million</p> | <p class=strong>Find the capital cities for countries with a population of over 70 million</p> | ||
<pre class=def> | <pre class=def> | ||
− | |||
</pre> | </pre> | ||
<div class=ans> | <div class=ans> | ||
Line 64: | Line 61: | ||
<div class=q data-lang="py3"> | <div class=q data-lang="py3"> | ||
− | |||
<p class=strong>Find the countries that have a population of over 100 million or less than a million</p> | <p class=strong>Find the countries that have a population of over 100 million or less than a million</p> | ||
<pre class=def> | <pre class=def> | ||
− | |||
</pre> | </pre> | ||
<div class=ans> | <div class=ans> | ||
Line 75: | Line 70: | ||
<div class=q data-lang="py3"> | <div class=q data-lang="py3"> | ||
− | |||
<p class=strong>Find the names of countries beginning with "U" that are outside of Europe and North America</p> | <p class=strong>Find the names of countries beginning with "U" that are outside of Europe and North America</p> | ||
<pre class=def> | <pre class=def> | ||
+ | </pre> | ||
+ | <div class=ans> | ||
+ | pp.pprint(list(db.world.find({"$and":[{"name":{'$regex':"^U"}},{"continent":{"$nin":["Europe", "North America"]}}]},{"name":1,"_id":0}))) | ||
+ | </div> | ||
+ | </div> | ||
+ | <div class=q data-lang="py3"> | ||
+ | <p class=strong>Find the names of all countries that contain a white space </p> | ||
+ | <pre class=def> | ||
</pre> | </pre> | ||
<div class=ans> | <div class=ans> | ||
− | pp.pprint(list(db.world.find({" | + | pp.pprint(list(db.world.find({"name":{"$regex":"^.*\s.*$"}},{"name":1,"_id":0}))) |
</div> | </div> | ||
</div> | </div> |
Revision as of 15:07, 27 July 2015
#ENCODING import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-16') #MONGO from pymongo import MongoClient client = MongoClient() client.progzoo.authenticate('scott','tiger') db = client['progzoo'] #PRETTY import pprint pp = pprint.PrettyPrinter(indent=4)
Working with the world
collection of countries
These examples introduce NoSQL using MonogDB and PyMongo under Python3.4. We will be using the find() command and basic comparison functions on the collection world:
For help on this click here
Use find()
to return the 21st document in world
Show the 21st document in world
pp.pprint( db.world.find() )
pp.pprint(db.world.find()[20])
Use sort()
to find the last document in world
Show the last document of world
pp.pprint(list(db.world.find().sort("$natural", -1).limit(1)))
List all the countries in the continent of Asia
pp.pprint(list(db.world.find({"continent":"Asia"}, {"_id":0, "name":1})))
Find the capital cities for countries with a population of over 70 million
pp.pprint(list(db.world.find({"population":{"$gt":70000000}},{"capital":1,"_id":0})))
Find the countries that have a population of over 100 million or less than a million
pp.pprint(list(db.world.find({"$or":[{"population":{"$lt":1000000}},{"population":{"$gt":100000000}}]}, {"name":1, "_id":0})))
Find the names of countries beginning with "U" that are outside of Europe and North America
pp.pprint(list(db.world.find({"$and":[{"name":{'$regex':"^U"}},{"continent":{"$nin":["Europe", "North America"]}}]},{"name":1,"_id":0})))
Find the names of all countries that contain a white space
pp.pprint(list(db.world.find({"name":{"$regex":"^.*\s.*$"}},{"name":1,"_id":0})))