Khác biệt với truy vấn MongoDB

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á()

Khác biệt với truy vấn MongoDB
Khác biệt với truy vấn MongoDB

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")

Khác biệt với truy vấn MongoDB

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

Khác biệt với truy vấn MongoDB

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

Khác biệt với truy vấn MongoDB

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

Khác biệt với truy vấn MongoDB

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

Khác biệt với truy vấn MongoDB

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

Làm cách nào để truy vấn các bản ghi duy nhất trong MongoDB?

Để nhận các giá trị duy nhất và bỏ qua các giá trị trùng lặp, hãy sử dụng differ() trong MongoDB . khác biệt () tìm các giá trị riêng biệt cho một trường được chỉ định trên một bộ sưu tập và trả về kết quả trong một mảng.

Chúng ta có thể sử dụng khác biệt với find trong MongoDB không?

Cả hai thao tác tìm và phân biệt đều rất hữu ích khi truy xuất dữ liệu từ MongoDB . Thao tác tìm trả về tất cả dữ liệu cùng một lúc hoặc theo truy vấn và phép chiếu. Hoạt động riêng biệt có chức năng đặc biệt là truy xuất các giá trị duy nhất của một trường được chỉ định.

Làm cách nào để nhận các giá trị riêng biệt trong tổng hợp MongoDB?

Trong MongoDB, db. bộ sưu tập. phương thức distinct() tìm các giá trị riêng biệt cho một trường cụ thể trên một bộ sưu tập hoặc dạng xem và trả về kết quả trong một mảng. Ba giá trị này là các giá trị riêng biệt cho trường loại trong các tài liệu trên.

Làm cách nào để nhận các giá trị riêng biệt trong MongoDB bằng Java?

Bạn có thể truy xuất danh sách các giá trị riêng biệt cho một trường trong bộ sưu tập bằng cách gọi phương thức differ() trên đối tượng MongoCollection . Chuyển tên trường tài liệu làm tham số đầu tiên và lớp bạn muốn chuyển kết quả thành tham số thứ hai như được hiển thị bên dưới. thu thập. khác biệt ("quốc gia", Chuỗi.