Nhóm theo trong mongodb
MongoDB là một cơ sở dữ liệu hướng tài liệu (document), một dạng cơ sở dữ liệu NoSQL. Vì thế, MongoDB sẽ tránh cấu trúc dựa trên bảng của cơ sở dữ liệu quan hệ để thích ứng với các tài liệu như JSON có một lược đồ rất linh hoạt được gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng JSON tài liệu nên mỗi bộ sưu tập sẽ có kích thước và các tài liệu khác nhau. Dữ liệu được lưu trữ trong tài liệu dạng JSON nên truy vấn sẽ rất nhanh Show
Định nghĩa thêm về MongoDBMongoDB lần đầu ra đời bởi MongoDB Inc. , tại thời điểm đó là thế hệ 10, vào tháng Mười năm 2007, nó là một phần của sản phẩm PaaS (Nền tảng dưới dạng Dịch vụ) tương tự như Windows Azure và Google App Engine. Sau đó nó đã được chuyển thành nguồn mở từ năm 2009 MongoDB đã trở thành một trong những cơ sở dữ liệu NoSQL nổi trội nhất nhì, được sử dụng làm phụ trợ cho rất nhiều trang web như eBay, SourceForge và The New York Times Việc sử dụng Aggregation framework, giúp việc xử lý dữ liệu trở nên dễ dàng hơn. Và đã có nhiều xử lý mà MQL (Mongo Query Language) không thực hiện được Để tạo đường dẫn có thể sử dụng nhiều cách
Hàm tổng hợp có thể tạo ra đường dẫnVí dụThực hiện một truy vấn tổng hợp bao gồm 2 giai đoạn như sau
Sử dụng la bàn dễ dàng tạo ra các giai đoạn. Ví dụ To output pipe by way select the icon Kết quả Trong bước trên sau khi đã xuất ra đường dẫn, có thể chọn ngôn ngữ lập trình để có mã nguồn. Ví dụ với ngôn ngữ Java Run try
Kết quả
View data sample_airbn testb. danh sáchAndReviews. Dữ liệu này bao gồm danh sách khách sạn, nhà trọ và đánh giá về nhà trọ đó Một tài liệu sẽ có mẫu như sau
Để truy vấn 3 nhà trọ giá rẻ có wifi, bạn có thể thực hiện truy vấn như sau
Truy vấn trên có thể dễ dàng được thực hiện bằng cách tạo đường dẫn
$match stage được sử dụng để lọc (lọc) dữ liệucú pháp
Ví dụ 1Ví dụ trong dữ liệu sample_training. các công ty
The filter as on also can split to 2 Stages
Ví dụ 2Tạo 1 đường dẫn để tìm các bộ phim trong sample_mflix. phim trong that
Ở đây dữ liệu trong phim thì các thông tin về thể loại, xếp hạng, ngôn ngữ được lưu trữ trong mảng, vì vậy cần sử dụng các hàm tìm trong mảng tương ứng như $nin, $in, $all. Pipeline will like after ________số 8Please find the house for Căn nhà/phòng cho thuê có nhiều hơn 1 giường, giá thuê theo tháng thấp hơn 2000 và có tối thiểu 1 nhận xét có chữ Nice view có tên là gì?Rustic Gaudí - Sagrada FamíliaBoqueria - Studio ấm cúng ở BornAppart. Zen au coeur de MontréalCăn hộ mới gần Sagrada Familia Chung cư đẹp và đầy nắng/Outremont$project được sử dụng để lựa chọn những trường nào sẽ được chuyển sang giai đoạn tiếp theocú pháp { $project: { } } Ví dụ 0Trong ví dụ về giai đoạn 2 của đường ống sử dụng $project. Chú ý trường nào muốn hiện thì là 1, trường nào không muốn hiện thì là 0. Ví dụ muốn hiện toàn bộ các trường ngoại lệ 1Chú ý $project cũng có thể thay đổi dữ liệu, ví dụ chỉ muốn lấy 5 ký tự đầu tiên của tiêu đề 2Hoặc trường hợp muốn lọc ra những bộ phim mà tiêu đề có 1 chữ cái thì có thể làm như sau 3Kết quả 4Ví dụ về đường ống bao gồm có 3 giai đoạn
Trong ví dụ trên itcount() được sử dụng sau hàm tổng hợp để đếm Một ví dụ khác 5Kết quả 6Hiển thị tên (tên) và mô tả (tóm tắt) của những nhà cho thuê có bếp (Kitchen), có mạng Wifi, được từ 8 người, ở Bồ Đào Nha (Bồ Đào Nha)Mã số$addFields được sử dụng để thêm trường vào tài liệucú pháp 7Ví dụ 8Kết quả 9Để ghép 2 chuỗi sử dụng $concat, để biến số thành chuỗi sử dụng $toString 0$sample được sử dụng để lựa chọn ra một tập tin mẫu trong các tài liệu đang cócú pháp 1Ví dụ 2Giai đoạn đầu tiên trong đường dẫn trên sẽ chọn ngẫu nhiên một mẫu bao gồm 100 tài liệu trong bộ sưu tập Use sample_training. tuyến đường Please show the 10 chuyến bay bất kỳ khởi động, or to the bay SGNMã 3$group is used to partition data to the groupscú pháp 4 5Quá trình tổng hợp sẽ thực hiện 3 giai đoạn
Kết quả 6Như vậy sơ đồ xử lý dữ liệu sẽ như sau Ví dụThống kê số lượng phim trong mỗi năm và điểm trung bình imdb cho các phim trong năm đó 7_id cũng có thể được tính toán rồi nhóm mới, ví dụ 8Các loại phòng (room_type) nào xuất hiện trong sample_airbnb. danh sáchAndReviewsMã sốHãy biết các nhà (property_type) là Cabin có giá thuê trung bình bao nhiêuKhoang 100Khoảng 95Khoảng 90Khoảng 85Khoảng 80Please show the point of center of each student (dữ liệu sample_traning. lớp). Biết rằng điểm mỗi môn của SV là điểm trung bình các thành phần, điểm trung bình của sinh viên là điểm trung bình mỗi mônMã số$sort là giai đoạn được sử dụng để sắp xếpcú pháp 9Ví dụ 0$limit được sử dụng để giới hạn số lượng bản ghi chuyển sang giai đoạn tiếp theocú pháp 1Ví dụ 2Để truy vấn và hiển thị tên, giá nhà/phòng giá rẻ có wifi, bạn có thể thực hiện truy vấn như sau
Kết quả 4Truy vấn như trên có thể được thay thế bằng cách thực hiện Aggregation framework Hãy tạo 1 đường dẫn bao gồm 4 giai đoạn phù hợp, dự án, sắp xếp, giới hạn, thực hiện truy vấn để có kết quả như trênMã số$unwind được sử dụng để phân tách các tài liệu có 1 mảng thành nhiều tài liệu với mỗi phần tử của mảngcú pháp 5Ví dụmuốn tính điểm imdb trung bình của từng thể loại phim. Nhưng thể loại của phim thì lại được chứa trong mảng. Do đó cần phải Deconstructs it before |