Làm cách nào để lọc một chuỗi trong mongodb?
Toán tử $filter cung cấp một mảng chỉ với các phần tử đó theo thứ tự ban đầu phù hợp với điều kiện. Được đề cập dưới đây là cú pháp của $filter Show
{ $filter . { đầu vào. < array_field > , như. < chuỗi > , cond. < biểu thức > } }
Cách hoạt động của Truy vấn bộ lọc trong MongoDB trong Ubuntu 20. 04Toán tử bộ lọc $ MongoDB được sử dụng để lọc tài liệu từ một mảng dựa trên một điều kiện mà chúng tôi đã xác định trong truy vấn của mình. Dựa trên điều kiện đã cho, trả về một tập hợp con của một mảng. Chỉ những mục nhập mảng thỏa mãn yêu cầu mới được trả về. Các phần tử được lắp ráp lại theo cùng một cách sắp xếp như trước Hãy xem xét một số trường hợp để giúp bạn hiểu những gì chúng ta đang thảo luận. Khi chúng tôi tiếp tục bài viết, chúng tôi muốn bạn thử các ví dụ trong trình bao mongo. Chúng tôi bắt đầu bằng cách tạo một bộ sưu tập cơ sở dữ liệu sử dụng trong suốt bài viết Ở đây, chúng tôi đã xác định một bộ sưu tập cơ sở dữ liệu là "ứng cử viên" bằng cách sử dụng trình bao MongoDB. Đối với bộ sưu tập này, chúng tôi đã xác định trường id, tên và nhãn hiệu. Chúng tôi đã chèn bảy tài liệu cùng một lúc bằng cách sử dụng truy vấn insertMany Bộ sưu tập “ứng cử viên” đang gọi hàm tìm kiếm như trong truy vấn trên. Sau đó, tài liệu đã ghi sẽ hiển thị trường và các giá trị tương ứng của nó. Lưu ý rằng trong trường “marks”, mảng được xác định với một số giá trị ngẫu nhiên ví dụ 1. Sử dụng toán tử bộ lọc $ trong MongoDB trong Ubuntu 20. 04Toán tử $filter được sử dụng để lọc các phần tử mảng trong trường “marks” từ tập hợp đã cho trong ví dụ sau Chúng tôi đã sử dụng truy vấn tổng hợp trên bộ sưu tập “ứng cử viên”. Trong truy vấn này, chúng ta có toán tử $match được sử dụng để lọc tài liệu theo id. Chúng tôi đã gán cho trường id một toán tử $in. Toán tử $in tìm các tài liệu trong đó giá trị của id bằng với bất kỳ giá trị nào trong mảng được cung cấp. Sau đó, toán tử $filter được chuyển đối số đầu vào và đặt giá trị của nó là “$marks”. Tham số “as” cũng được sử dụng để trả về tên trường “marks”. Sau đó, chúng tôi đã chỉ định tham số điều kiện sử dụng toán tử lớn hơn trên trường “$$marks” Bằng cách thực hiện theo truy vấn trên, kết quả chúng tôi nhận được được hiển thị trong hình với tên trường mới được đánh dấu cao ví dụ 2. Sử dụng toán tử bộ lọc $ cho một mảng trống trong MongoDB trong Ubuntu 20. 04Khi một trong các tài liệu bộ sưu tập của chúng tôi có một mảng trống, toán tử bộ lọc trả về một tập hợp mảng trống, như có thể thấy ở đây Trong $match, chúng tôi đã chỉ định id có toán tử $in trả về id “7” từ bộ sưu tập như chúng tôi đã cung cấp “7” bên trong một mảng. Sau đó, truy vấn $filter đã cung cấp trường bộ sưu tập “marks” trả về một mảng trống vì không có giá trị nào được lưu trữ bên trong trường “marks” của id “7” Kết quả của toán tử bộ lọc có một bộ tài liệu trống ở đây ví dụ 3. Sử dụng toán tử bộ lọc $ cho loại sai trong MongoDB trong Ubuntu 20. 04Nếu chúng tôi cố gắng sử dụng $filter trên một trường không có mảng, chúng tôi sẽ gặp lỗi. Sau đây là minh chứng cho tuyên bố này Chúng tôi đã cung cấp một trường “tên” từ tài liệu có id là “5” bên trong toán tử bộ lọc $. Trong tham số cond của $filter, chúng ta có toán tử $eq lấy trường “$name” và khớp với giá trị chuỗi được xác định cho nó Khi chúng tôi chạy truy vấn trên, thông báo lỗi cho biết loại phải là một mảng trong toán tử bộ lọc $ như trong hình Ví dụ 4. Sử dụng toán tử bộ lọc $ với biến $this trong MongoDB trong Ubuntu 20. 04Chúng tôi đã sử dụng tham số “as” để đặt tên cho biến trong các trường hợp trước đó. Tham số as là tùy chọn. Nếu chúng ta để trống trường này, tên biến sẽ mặc định là “this” Ở đây, chúng tôi đã chỉ định mảng trong toán tử $in để chọn các trường id từ các tài liệu của bộ sưu tập đã cho trong $match. Sau đó, bộ lọc $ có hai tham số, đầu vào và cond. Tham số cond có toán tử lớn hơn truy xuất các điểm lớn hơn 65. Chúng tôi chưa sử dụng chúng làm tham số, thay vào đó chúng tôi sử dụng tên trường $$this Do đó, bằng cách sử dụng $$this để tham chiếu trường, chúng tôi đã nhận được kết quả tương tự như từ “as”. Đầu ra thỏa mãn với điều kiện $match và điều kiện $filter nhìn thấy trong hình Sự kết luậnĐây là hướng dẫn Bộ lọc MongoDB. Trong bài viết này, chúng ta đã tìm hiểu về định nghĩa, cú pháp và cách thức hoạt động của các bộ lọc trong MongoDB. Các ví dụ và triển khai mã cũng được cung cấp. Các phần tử của trường mảng được lọc bằng toán tử bộ lọc MongoDB. Để lấy dữ liệu từ các phần tử mảng, chúng tôi đã sử dụng một số điều kiện như $gt, $lt, $gte và $lte Tìm kiếm văn bản MongoDB hoạt động như thế nào?Việc triển khai công cụ tìm kiếm toàn văn trong MongoDB Atlas chỉ là một câu hỏi về việc nhấp vào nút. Chuyển đến bất kỳ cụm nào và chọn tab “Tìm kiếm” để thực hiện. Từ đó, bạn có thể nhấp vào “Tạo chỉ mục tìm kiếm” để khởi chạy quy trình. Khi chỉ mục được tạo, bạn có thể sử dụng toán tử $search để thực hiện tìm kiếm toàn văn
Chuỗi trong MongoDB là gì?chuỗi. Một chuỗi thuật ngữ mà MongoDB phân tích cú pháp và sử dụng để truy vấn chỉ mục văn bản . MongoDB thực hiện tìm kiếm logic OR của các điều khoản trừ khi được chỉ định là một cụm từ. Xem Hành vi để biết thêm thông tin về lĩnh vực này.
Bộ lọc MongoDB hoạt động như thế nào?Bộ lọc sửa đổi truy vấn MongoDB sắp đến để chỉ trả về một tập hợp con các kết quả phù hợp với truy vấn . Bộ lọc thêm các tham số truy vấn bổ sung và loại bỏ các trường khỏi kết quả truy vấn trước khi Atlas App Services chạy truy vấn. |