Tùy chọn truy vấn trong MongoDB

Nhập môn MongoDB với Python

Filip Schouwenaars

Machine Learning Researcher

Giới hạn số lượng kết quả

from pymongo import MongoClient
client = MongoClient()
mov = client.film.movies

# Lấy tất cả phim (con trỏ) all_movies = mov.find()
# Có bao nhiêu? len(list(all_movies))
41
from pymongo import MongoClient
client = MongoClient()
mov = client.film.movies

# Lấy 5 phim (con trỏ) limit_movies = mov.find().limit(5)
# Có bao nhiêu? len(list(limit_movies))
5
Nhập môn MongoDB với Python

Sắp xếp tăng dần và giảm dần

# Theo tiêu đề, tăng dần (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,
        ...
    },
    ...
]
# Theo năm phát hành, giảm dần (cao đến thấp)
ry_sort = mov.find().sort("release_year", -1)
list(ry_sort)
[
    {
          'title': 'dune: part two',
        'release_year': 2024,
        ...
    },
     {
        'title': 'barbie',
        'release_year': 2023,
          ...
    },
    ...
]
Nhập môn MongoDB với Python

Đếm tài liệu khớp điều kiện

from pymongo import MongoClient
client = MongoClient()
mov = client.film.movies

# Đếm phim hành động bằng find() len(list(mov.find({ "genre": "action" })))
16
# Đếm phim hành động, cách tốt hơn
mov.count_documents({ "genre": "action" })
16
Nhập môn MongoDB với Python

Dùng projection để định dạng kết quả

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},
 ...
]
Nhập môn MongoDB với Python

Hãy thực hành!

Nhập môn MongoDB với Python

Preparing Video For Download...