Truy vấn số lượng riêng biệt rất hữu ích khi bạn có hàng trăm tài liệu trong một bộ sưu tập và bạn muốn tìm tổng số tài liệu riêng biệt trong bộ sưu tập đó. Trong bài viết ngày hôm nay của loạt bài hướng dẫn về MongoDB, chúng tôi đã mô tả khái niệm cơ bản về truy vấn đếm riêng biệt và ứng dụng của nó trong MongoDB
Số lượng riêng biệt hoạt động như thế nào
Mục đích chính của việc đếm các tài liệu riêng biệt là để tránh sự trùng lặp có thể tiêu tốn thời gian và tài nguyên trong khi truy vấn. Cú pháp của phương thức riêng biệt được cung cấp bên dưới
db.collection-name.distinct["", "", ""].length
Bằng cách sử dụng cú pháp đã đề cập ở trên, các trường riêng biệt được truy xuất bằng cách sử dụng phương thức differ[] trong khi “. length” sẽ đếm số trường được trả về bởi phương thức differ[]
điều kiện tiên quyết
Có một số phiên bản Ubuntu dựa trên MongoDB phải sẵn sàng để tham gia phiên thực hành. Ví dụ, những điều sau đây bạn phải đảm bảo
cơ sở dữ liệu. Cần có cơ sở dữ liệu MongoDB hợp lệ trên Ubuntu của bạn. Chẳng hạn, chúng tôi đang sử dụng cơ sở dữ liệu có tên là “linuxhint“
thu thập. Sau cơ sở dữ liệu, một bộ sưu tập là cần thiết và phải được liên kết với cơ sở dữ liệu của bạn. Tên bộ sưu tập được sử dụng trong hướng dẫn này là "máy tính xách tay"
Phần sắp tới trình bày cách sử dụng phương thức đếm riêng biệt trong MongoDB
Cách sử dụng phương thức đếm riêng biệt trong MongoDB
Trước khi khám phá cách làm việc với một số ví dụ, chúng ta hãy xem nội dung bên trong bộ sưu tập “máy tính xách tay” của chúng tôi
> db. máy tính xách tay. tìm thấy[]. khá[]
Các ví dụ trong hướng dẫn này sẽ được thực hành trên dữ liệu hiển thị ở trên
ví dụ 1. Lấy các tên trường riêng biệt trong trường "Mèo"
Trong ví dụ này, phương thức differ[] được áp dụng trên trường “Cat” và nó sẽ trả về tên của các trường riêng biệt trong bộ sưu tập “máy tính xách tay”. Đối với điều này, chúng tôi đã thực hiện lệnh sau trong MongoDB Shell
> db. máy tính xách tay. khác biệt ["Mèo"]
Theo quan sát, phương thức “distinct[]” chỉ hiển thị tên của các trường riêng biệt
ví dụ 2. Đếm số lượng giá trị riêng biệt trong trường “Cat”
Tham khảo ví dụ trên, chúng ta sẽ sử dụng lệnh được đề cập bên dưới để đếm số trường riêng biệt trong trường “Cat” của bộ sưu tập “linuxhint”
> db. máy tính xách tay. khác biệt ["Mèo"]. chiều dài
ví dụ 3. Sử dụng một điều kiện truy vấn
Trong ví dụ này, phương thức riêng biệt sẽ được sử dụng với điều kiện truy vấn và trong tình huống như vậy, chỉ những giá trị được trả về khác biệt cũng như phù hợp với điều kiện truy vấn. Chẳng hạn, lệnh được đề cập bên dưới sẽ cung cấp cho bạn số lượng các giá trị riêng biệt trong trường “Tạo” trong đó điều kiện phải khớp [ Cat. “Trò chơi’ ]
> db. máy tính xách tay. khác biệt ["Tạo", {Mèo. "Trò chơi"}]. chiều dài
Có thể thấy từ đầu ra rằng có "4" trường riêng biệt có trường "Tạo" và trong các "Mèo" đó phù hợp với "Trò chơi"
Ví dụ 4. Đếm số lượng giá trị riêng biệt trong trường mảng
Trường “Sản xuất” trong bộ sưu tập “máy tính xách tay” là một mảng chứa tên nhà sản xuất trong đó. Chẳng hạn, lệnh được đề cập dưới đây sẽ đếm số lượng giá trị riêng biệt trong đó
> db. máy tính xách tay. khác biệt ["Làm"]. chiều dài
Ví dụ 5. Đếm số lượng các giá trị riêng biệt trong một trường số
Phương pháp riêng biệt cũng có thể được áp dụng trên các loại dữ liệu số trong MongoDB. Như trong bộ sưu tập “máy tính xách tay”; . Lệnh được viết bên dưới sẽ đếm số lượng giá trị riêng biệt trong trường “Giá”
> db. máy tính xách tay. khác biệt["Giá"]. chiều dài
Phần kết luận
MongoDB truy xuất các tài liệu giống như bất kỳ cơ sở dữ liệu nào khác và nó cũng có chức năng riêng biệt [] để chỉ truy xuất các giá trị riêng biệt của bất kỳ trường nào. Trong bài viết này của loạt bài MongoDB, bạn đã học cách đếm các giá trị trường riêng biệt cũng như độ dài của chúng. Các tài liệu truy xuất được tính với sự trợ giúp của. phần mở rộng chiều dài của phương thức riêng biệt của MongoDB. Ngoài ra, số lượng riêng biệt có thể được áp dụng cho bất kỳ loại dữ liệu nào được hỗ trợ bởi MongoDB