Expr -- MongoDB

Hướng dẫn này sẽ giải thích chi tiết về Biểu thức chính quy trong MongoDB. Chúng ta có thể định nghĩa biểu thức chính quy là tìm một mẫu hoặc từ trong bất kỳ chuỗi nào. Cụm từ thông dụng hữu ích trong hầu hết các loại ngôn ngữ

Hãy xem loạt bài đào tạo MongoDB hoàn chỉnh để hiểu rõ về khái niệm này

Expr -- MongoDB

Biểu thức chính quy là một chức năng hữu ích của MongoDB. Khi chúng ta nói về MongoDB, nó sử dụng PCRE (biểu thức chính quy tương thích perl) làm biểu thức chính quy. Nó sử dụng toán tử $regex làm biểu thức chính quy để tìm các mẫu trong chuỗi

Ví dụ

Xem xét ví dụ sau trong đó tài liệu được cấu trúc theo bộ sưu tập “softwaretestinghelp”

Hình 1

Expr -- MongoDB

cú pháp

db.DATA_COLLECTION_NAME.find({FIELD:{$regex:WORD}})

Phương pháp 1

Truy vấn

db. trợ giúp kiểm thử phần mềm. tìm ({student_name. {$regex. ”Junaid”}})

Tìm kiếm truy vấn ở trên là tìm kiếm tất cả các sinh viên có tên “Junaid”

Hình 2. Kết quả trong MongoDB Shell

Expr -- MongoDB

Hình 3. Kết quả trong Robo3T

Expr -- MongoDB

Từ ví dụ trên, chúng ta thấy rằng biểu thức chính quy dùng để tìm các mẫu hoặc từ trong một Chuỗi cụ thể

Truy vấn

db.softwaretestinghelp.find({student_name:/Jun/}).pretty()

Truy vấn cũng sẽ trả về kết quả tương tự. Bạn có thể xem kết quả bên dưới

hinh 4. Kết quả trong MongoDB Shell

Expr -- MongoDB

Hình 5. Kết quả trong Robo3T

Expr -- MongoDB

Bạn sẽ học được gì

  • Biểu thức chính quy sẽ hoạt động như thế nào trong trường hợp phân biệt chữ hoa chữ thường?
  • Làm cách nào chúng ta có thể sử dụng Biểu thức chính quy trong một mảng?
  • Tối ưu hóa biểu thức chính quy
  • Phần kết luận
  • đề xuất đọc

Biểu thức chính quy sẽ hoạt động như thế nào trong trường hợp phân biệt chữ hoa chữ thường?

Đối với trường hợp phân biệt chữ hoa chữ thường, biểu thức chính quy sử dụng tùy chọn $ và tham số có giá trị là $i. Ở đây chúng tôi đang đưa ra một ví dụ trong đó biểu thức chính quy hoạt động trong tình huống phân biệt chữ hoa chữ thường. Truy vấn sau đây sẽ trả về giá trị có chứa “Junaid” bất kể từ nhỏ hơn hay từ viết hoa

Truy vấn

db.softwaretestinghelp.find({student_name:{$regex:"junaid",$options:"$i"}})

Hình 6. Kết quả trong MongoDB Shell

Expr -- MongoDB

Hình 7. Kết quả trong Robo3T

Expr -- MongoDB

Làm cách nào chúng ta có thể sử dụng Biểu thức chính quy trong một mảng?

Chúng ta có thể sử dụng khái niệm biểu thức chính quy trong một mảng. Cụm từ thông dụng rất quan trọng khi chúng ta làm việc với các thẻ. Nếu bạn muốn tìm kiếm tất cả các thẻ có “bài đăng mới của tôi” thì truy vấn sau sẽ tìm tất cả các Bài đăng có thẻ “bài đăng mới của tôi” và trả về kết quả cho chúng tôi

Truy vấn

db.softwaretestinghelp.find({subjects:{$regex:"comp"}})

Hình 8. Kết quả trong MongoDB Shell

Expr -- MongoDB

Hình 9. Kết quả trong Robo3T

Expr -- MongoDB

Tối ưu hóa biểu thức chính quy

  • Nếu chúng ta có một tài liệu ở dạng chỉ mục, truy vấn sẽ sử dụng các giá trị của chỉ mục và khớp với biểu thức chính quy
  • Nếu biểu thức chính quy là biểu thức tiền tố, thì truy vấn sẽ tìm tất cả các giá trị bắt đầu từ một từ cụ thể
  • Ví dụ , nếu một từ bắt đầu từ 'st' thì truy vấn sẽ tìm tất cả các giá trị bắt đầu từ từ st.

Phần kết luận

Tóm lại, chúng tôi đã học được những điểm sau từ hướng dẫn trên

  • Biểu thức chính quy và công dụng của nó
  • Biểu thức chính quy trong trường hợp phân biệt chữ hoa chữ thường và tối ưu hóa biểu thức chính quy
  • Sử dụng biểu thức chính quy trong một mảng

Từ nghiên cứu trên, chúng ta có thể nói rằng biểu thức chính quy được sử dụng để tìm mẫu và từ từ chuỗi đã chỉ định. Một biểu thức chính quy có thể tìm kiếm một tài liệu được lập chỉ mục bằng cách khớp các giá trị với các giá trị được lập chỉ mục. Nếu biểu thức chính quy ở dạng tiền tố, thì nó sẽ tìm kiếm tất cả các kết quả bắt đầu từ một tiền tố cụ thể

$$ có nghĩa là gì trong MongoDB?

Trong biểu thức, ký hiệu đô la $ đánh giá thành đường dẫn trường; . e. cung cấp quyền truy cập vào trường . Ví dụ, biểu thức $eq $eq. [ "$price", "$1" ] thực hiện kiểm tra sự bằng nhau giữa giá trị trong trường có tên price và giá trị trong trường có tên 1 trong tài liệu.

Làm cách nào để sử dụng $EQ trong MongoDB?

Toán tử đẳng thức ($eq ) được sử dụng để so khớp các tài liệu trong đó giá trị của trường bằng với giá trị đã chỉ định . Nói cách khác, toán tử $eq được sử dụng để xác định điều kiện bình đẳng. Điểm quan trọng. Nếu giá trị đã cho là một tài liệu, thì thứ tự của các trường trong tài liệu là quan trọng.

Biểu thức tổng hợp nào được sử dụng trong MongoDB?

Đối với việc tổng hợp trong MongoDB, bạn nên sử dụng phương thức aggregate() .

Toán tử chiếu trong MongoDB là gì?

Trong MongoDB, toán tử vị trí $ được được sử dụng để chỉ giới hạn phần tử khớp đầu tiên từ một trường mảng và điều này đã xảy ra mặc dù có . Nó phải yêu cầu xuất hiện trường