Làm cách nào để sử dụng biểu thức chính quy trong truy vấn MongoDB?
Biểu thức chính quy là một cách quan trọng để chỉ định mẫu cho một tìm kiếm phức tạp. Toán tử MongoDB $regex cung cấp một cách như vậy để tìm kiếm một chuỗi sau khi khớp với một mẫu đã chỉ định Show
Trong MongoDB, khớp mẫu có thể được thực hiện bằng cách sử dụng các đối tượng biểu thức chính quy hoặc sử dụng toán tử $regex Tên cơ sở dữ liệu của chúng tôi là 'myinfo' và tên bộ sưu tập của chúng tôi là 'sinh viên'. Đây, là bộ sưu tập dưới đây Bộ sưu tập mẫu "sinh viên"
Ví dụ về toán tử truy vấn đánh giá MongoDB - $regexNếu chúng tôi muốn chọn tất cả các tài liệu từ bộ sưu tập "sinh viên" thỏa mãn điều kiện - Tên f_name phải bắt đầu bằng chữ "P" lệnh mongodb sau đây có thể được sử dụng
N. B. Phương thức find() hiển thị các tài liệu ở định dạng không có cấu trúc nhưng để hiển thị kết quả theo cách được định dạng, có thể sử dụng phương thức pretty() Lệnh tương đương SQL là
đầu ra { "_id" : ObjectId("527b3cc65ceafed9b2254a95"), "f_name" : "Paul", "sex" : "Male", "class" : "VII", "age" : 13, "grd_point" : 29.5904 } { "_id" : ObjectId("527b3cc65ceafed9b2254a98"), "f_name" : "Peter", "sex" : "Male", "class" : "VI", "age" : 11, "grd_point" : 31.5201 } Nếu chúng ta viết câu lệnh mongodb ở trên như bên dưới thì sẽ không có đầu ra nào
Vì không có f_name nào bắt đầu bằng chữ 'p'. Trong trường hợp đó để tránh phân biệt chữ hoa chữ thường, chúng ta có thể viết câu lệnh trên theo cách sau. Đây là ví dụ -
Tùy chọn "$option. i" được sử dụng để tránh phân biệt chữ hoa chữ thường Câu lệnh trên có thể được viết mà không sử dụng $regex mà sử dụng các đối tượng biểu thức chính quy. Đây là các lệnh - Có hai loại danh mục cơ sở dữ liệu - RDBM hoặc cơ sở dữ liệu quan hệ như Oracle, SQL Server, v.v. Cái còn lại là cơ sở dữ liệu NoQuery như MongoDB, CosmosDB, v.v. MongoDB đã trở nên phổ biến so với các cơ sở dữ liệu khác vì thiết kế đơn giản, kiểm soát đơn giản đối với dữ liệu được lưu trữ và cung cấp khả năng chia tỷ lệ theo cả chiều dọc và chiều ngang. Bài viết này giải thích MongoDB Regex và khớp mẫu có và không có toán tử $regex. Được chứng nhận với IBM và UCI DCEChương trình đào tạo kỹ thuật dữ liệu UCI Đăng ký ngayMongoDB Regex là gì?Biểu thức chính quy được sử dụng để khớp các mẫu. Không có gì khác ngoài việc tìm các chuỗi trong tài liệu. Đôi khi, không biết giá trị trường chính xác để tìm kiếm trong khi truy xuất tài liệu trong bộ sưu tập. Để hỗ trợ truy xuất dữ liệu dựa trên các giá trị tìm kiếm khớp mẫu, người ta có thể sử dụng các biểu thức chính quy. MongoDB cung cấp dịch vụ tìm kiếm một mẫu trong chuỗi bằng biểu thức chính quy trong khi truy vấn. Nó sử dụng biểu thức chính quy tương thích với Perl (PCRE) phiên bản 8. 42 và hỗ trợ UTF-8. Người ta có thể thực hiện khớp mẫu trong MongoDB - với toán tử $regex và không có toán tử $regex. So khớp mẫu bằng Toán tử $regexToán tử $regex cung cấp các khả năng biểu thức chính quy cho các chuỗi khớp mẫu trong các truy vấn. Nói một cách đơn giản hơn, sử dụng toán tử này, người ta có thể tìm kiếm chuỗi đã cho trong một tập hợp cụ thể. Nếu không biết giá trị trường chính xác mà người ta đang tìm kiếm trong tài liệu, toán tử này có thể hữu ích. cú pháp{ { tùy chọn $The following
Thí dụ.Hiển thị chi tiết của các thành viên có từ cấp cao trong trường vị trí của họ db. thành viên. tìm ({vị trí. {$regex. "cao cấp"}}). đẹp() Trong trường hợp này, hãy hiển thị tài liệu của thành viên có trường vị trí chứa chuỗi cấp cao. Để có được điều đó, hãy chuyển một biểu thức chính quy bằng toán tử $regex, i. e. {$regex. “senior”} cho trường vị trí trong phương thức find(). >db. thành viên. tìm ({vị trí. ($regex. "cao cấp"}}). đẹp() { "_Tôi". ObjectId("6012d803fcb649933cd59833"), "Tên". "Tony", "tuổi". "32", "Chức vụ". "Thành viên liên kết" } { _Tôi". ObjectId("6012d803fcb649933cd59834"), "Tên". "Lý Tiểu Long", "tuổi". "25", "Chức vụ". "Thành viên hàng đầu" } > khóa học miễn phí. Giới thiệu về Khoa học dữ liệuTìm hiểu kiến thức cơ bản về khoa học dữ liệu Đăng ký ngayNhững điểm chính cần nhớ
So khớp mẫu mà không sử dụng toán tử $RegexCó thể khớp các mẫu mà không cần sử dụng toán tử $regex trong MongoDB. Để làm như vậy, hãy sử dụng đối tượng biểu thức chính quy để chỉ định biểu thức chính quy. Ngoài ra, hãy sử dụng các biểu thức chính quy bên trong toán tử $in bằng cách sử dụng các đối tượng biểu thức chính quy. cú pháp{ // có nghĩa là chỉ định tiêu chí tìm kiếm ở giữa các dấu phân cách. Thí dụHiển thị thông tin chi tiết của các thành viên có từ 'te' trong tên của họ bằng cách sử dụng các đối tượng biểu thức chính quy db. thành viên. tìm ({Tên. /te/}). đẹp() Tại đây, hiển thị tài liệu của các thành viên có tên chứa chuỗi ‘te’. Vì vậy, vượt qua một biểu thức chính quy, tôi. e. {Tên. /te/} cho trường tên trong phương thức find(). // được sử dụng để chỉ định tiêu chí tìm kiếm giữa các dấu phân cách, i. e. ,/te/. >db. Nhân viên. tìm ({Tên. /te/}). đẹp() { "_Tôi". ObjectId("6012d803fcb649933cd59836"), "Tên". "Steve", "tuổi". "32", "Chức vụ". "Nhà phân tích dữ liệu" } { "_Tôi". ObjectId("6012d803fcb649933cd59838"), "Tên". "Peter", "tuổi". "22", "Chức vụ". "Kỹ sư phần mềm trẻ" } > chủ đề liên quan
Chương trình Chứng chỉ Chuyên nghiệp về Khoa học Dữ liệu của Simplilearn hợp tác với Đại học Purdue và hợp tác với IBM, được xếp hạng số 1 Sau đại học về chương trình Khoa học Dữ liệu bởi ET. Nếu bạn muốn thành công về khoa học dữ liệu, chương trình này chính là chương trình dành cho bạn Phần kết luậnBạn có biết điều gì làm tăng giá trị cho bất kỳ doanh nghiệp nào không? . Các nhà khoa học dữ liệu có giá trị đối với công ty, từ việc giúp nhân viên cấp cao đưa ra quyết định tốt hơn cho đến tuyển dụng ứng viên. Các nhà khoa học dữ liệu đang thống trị các thị trường mới nổi. Với mức tăng trưởng khổng lồ 37%, khoa học dữ liệu đã trở thành một trong những ngành học đòi hỏi khắt khe nhất. Vì vậy, bạn có muốn kiếm cho mình một công việc lương cao bằng cách trở thành một nhà khoa học dữ liệu không? . Thông tin về các Tác giảNikita DuggalNikita Duggal là một nhà tiếp thị kỹ thuật số đầy nhiệt huyết với chuyên ngành ngôn ngữ và văn học Anh, một người sành sỏi về ngôn từ, thích viết về các công nghệ đang thịnh hành, tiếp thị kỹ thuật số và những câu hỏi hóc búa về nghề nghiệp Tôi có thể sử dụng regex trong truy vấn MongoDB không?MongoDB cung cấp chức năng tìm kiếm một mẫu trong chuỗi trong khi truy vấn bằng cách viết một biểu thức chính quy . Biểu thức chính quy là một cách tổng quát để khớp các mẫu với chuỗi ký tự. MongoDB sử dụng biểu thức chính quy tương thích với Perl (PCRE) phiên bản 8. 42 cùng với hỗ trợ UTF-8.
Làm cách nào để sử dụng câu lệnh SQL LIKE trong MongoDB?Trường hợp sử dụng 1. Chứa một chuỗi. Câu lệnh SQL với toán tử like như sau. chọn * từ bảng có tên như '%jo%';. Ca sử dụng 2. Bắt đầu với một chuỗi. Câu lệnh SQL với toán tử like như sau. chọn * từ bảng có tên như 'jo%';. Ca sử dụng 3. Kết thúc bằng một chuỗi Làm cách nào để tìm kiếm các ký tự đặc biệt trong MongoDB?Để khớp một ký tự đặc biệt, đặt dấu gạch chéo ngược lên trước ký tự đó , như thế này \*.
() trong biểu thức chính quy là gì?Các () sẽ cho phép bạn đọc chính xác các ký tự được khớp . Dấu ngoặc đơn cũng hữu ích cho OR'ing hai biểu thức với thanh. nhân vật. Ví dụ: (a-z. 0-9) sẽ khớp với một ký tự -- bất kỳ chữ cái viết thường hoặc chữ số nào. |