Python 中的 MongoDB 入门
Filip Schouwenaars
Machine Learning Researcher
from pymongo import MongoClient client = MongoClient() mov = client.film.movies# 获取所有电影(游标) all_movies = mov.find()# 有多少? len(list(all_movies))
41
from pymongo import MongoClient client = MongoClient() mov = client.film.movies# 获取 5 部电影(游标) limit_movies = mov.find().limit(5)# 有多少? len(list(limit_movies))
5
# 按标题升序(A-Z)
t_sort = mov.find().sort("title", 1)
list(t_sort)
[
{
'title': '12 angry men',
'release_year': 1957,
...
},
{
'title': 'a beautiful mind',
'release_year': 2001,
...
},
...
]
# 按上映年份降序(高到低)
ry_sort = mov.find().sort("release_year", -1)
list(ry_sort)
[
{
'title': 'dune: part two',
'release_year': 2024,
...
},
{
'title': 'barbie',
'release_year': 2023,
...
},
...
]
from pymongo import MongoClient client = MongoClient() mov = client.film.movies# 用 find() 统计动作片数量 len(list(mov.find({ "genre": "action" })))
16
# 更好的统计方式
mov.count_documents({ "genre": "action" })
16
movies = mov.find({}, {
"title": 1, "rating": 1,
})
list(movies)
[
{'_id': '6...f', 'rating': 7.6, 'title': 'superbad'},
{'_id': '6...0', 'rating': 8.6, 'title': 'interstellar'},
{'_id': '6...1', 'rating': 8.8, 'title': 'inception'},
{'_id': '6...2', 'rating': 9.2, 'title': 'the godfather'},
{'_id': '6...3', 'rating': 8, 'title': 'the revenant'},
...
]
movies = mov.find({}, {
"title": 1, "rating": 1, "_id": 0
})
list(movies)
[
{'title': 'superbad', 'rating': 7.6},
{'title': 'interstellar', 'rating': 8.6},
{'title': 'inception', 'rating': 8.8},
{'title': 'the godfather', 'rating': 9.2},
{'title': 'the revenant', 'rating': 8},
...
]
Python 中的 MongoDB 入门