Skip to content

Commit d70de6c

Browse files
authored
Create imdb-example-w-mongoengine.md
1 parent 67608c0 commit d70de6c

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

imdb-example-w-mongoengine.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
```
2+
docker run -d -p 27017:27017 --rm --name mongo mongo:3.6.5-jessie
3+
docker exec -it mongo sh
4+
apt update && apt install wget python python-setuptools && easy_install pip -y
5+
wget https://raw.githubusercontent.com/steveren/docs-assets/charts-tutorial/movieDetails.json
6+
pip install pymongo mongoengine
7+
mongoimport --db test --collection movieDetails --drop --file movieDetails.json
8+
```
9+
10+
```
11+
from pymongo import MongoClient
12+
client = MongoClient()
13+
>>> db = client['test']
14+
>>> collection = db['movieDetails']
15+
>>> collection.find_one()
16+
{u'tomato': {u'rating': 9.0, u'userReviews':
17+
```
18+
19+
```
20+
>>> import mongoengine
21+
>>> mongoengine.connect('test', host='mongodb://localhost:27017/test')
22+
>>> class Movie(mongoengine.Document):
23+
... meta = {'collection': 'movieDetails'}
24+
... title = mongoengine.StringField()
25+
... year = mongoengine.IntField()
26+
... rated = mongoengine.StringField()
27+
... runtime = mongoengine.IntField()
28+
... countries = mongoengine.ListField()
29+
... genres = mongoengine.ListField()
30+
... director = mongoengine.StringField()
31+
... writers = mongoengine.ListField()
32+
... actors = mongoengine.ListField()
33+
... plot = mongoengine.StringField()
34+
... poster = mongoengine.StringField()
35+
... imdb = mongoengine.EmbeddedDocumentField(Imdb)
36+
... tomato = mongoengine.EmbeddedDocumentField(Tomato)
37+
... metacritic = mongoengine.IntField()
38+
... awards = mongoengine.EmbeddedDocumentField(Awards)
39+
... type = mongoengine.StringField()
40+
41+
>>> Movie.objects.first()
42+
<Movie: Movie object>
43+
>>> movie.actors
44+
[u'Claudia Cardinale', u'Henry Fonda', u'Jason Robards', u'Charles Bronson']
45+
>>> movie.to_json()
46+
'{"_id": {"$oid": "5b107bec1d2952d0da9046e0"}, "title": "Once Upon a Time
47+
48+
>>> Movie.objects(year__lte=1988)
49+
[<Movie: Movie object>, <Movie:
50+
51+
>>> Movie.objects(year__lte=1988)[0]
52+
<Movie: Movie object>
53+
>>> Movie.objects(year__lte=1988)[0].actors
54+
[u'Claudia Cardinale', u'Henry Fonda', u'Jason Robards', u'Charles Bronson']
55+
>>> Movie.objects(imdb__rating__gte=9)
56+
[<Movie: Movie object>, <Movie: Movie object>,
57+
>>> Movie.objects(imdb__rating__gte=9)[0]
58+
<Movie: Movie object>
59+
>>> Movie.objects(imdb__rating__gte=9)[0].title
60+
u'Gamechangers Ep. 3: A Legend in the Booth'
61+
>>> Movie.objects(title__contains='Love')
62+
[<Movie: Movie object>, <Movie: Movie object>,
63+
>>> [a.title for a in Movie.objects(title__contains='Love')]
64+
[u'Dr. Strangelove or: How I Learne
65+
>>> [a.actors for a in Movie.objects(title__contains='Love') if a.title == 'Shakespeare in Love']
66+
[[u'Geoffrey Rush', u'Tom Wilkinson',
67+
68+
>>> Movie.objects.count()
69+
>>> Movie.objects(actors__size=2)
70+
```
71+
72+
- https://docs.mongodb.com/charts/master/tutorial/movie-details/prereqs-and-import-data/

0 commit comments

Comments
 (0)