Giống như trong MongoDB
Nếu chúng ta muốn toán tử SQL like “Like” trong Mongodb để khớp chuỗi. Nhưng trong mongo DB không có toán tử “like” như vậy thay vào đó nó có biểu thức chính quy để đạt được một tính năng tương tự Show
db.users.insert({name: 'singh'}) db.users.insert({name: 'singhak'}) db.users.insert({name: 'aksingh'}) Mục lục Trường hợp 1Trong MongoDB, bạn cũng có thể sử dụng các đối tượng biểu thức chính quy (i. e. 1) để chỉ định biểu thức chính quy
ví dụ 1--SQL SELECT * FROM users WHERE name LIKE '%sin%' --MongoDB db.users.find({name: /sin/}) ví dụ 2--SQL SELECT * FROM users WHERE name LIKE '%gh' --MongoDB db.users.find({name: /gh$/}) ví dụ 3--SQL SELECT * FROM users WHERE name LIKE 'ak%' --MongoDB db.users.find({name: /^ak/}) Nếu chúng ta muốn bỏ qua, chúng ta có thể sử dụng như thế này db.users.find({name: /Sin/i}) cũng đọc. Bắt đầu mongo DB dưới dạng Dịch vụ Trường hợp 2chúng ta có thể sử dụng toán tử 2, nó cung cấp khả năng biểu thức chính quy để so khớp mẫu chuỗi trong truy vấn. MongoDB sử dụng các biểu thức chính quy tương thích với Perl (i. e. “PCRE” ) phiên bản 8. 42 với hỗ trợ UTF-8 Hôm nay trong bài viết này, chúng ta sẽ xem cách viết một truy vấn MongoDB Like bằng ví dụ (giống như truy vấn SQL 'like'). Chúng ta sẽ thấy một vài tình huống với các ví dụ và mẫu truy vấn Hôm nay trong bài viết này, chúng tôi sẽ đề cập đến các khía cạnh dưới đây, Chúng ta sẽ xem cách chúng ta có thể sử dụng các truy vấn đơn giản đến phức tạp hoặc các mẫu biểu thức chính quy để khớp các tổ hợp ký tự trong chuỗi Bắt đầuTôi có một tài liệu MongoDB mẫu như bên dưới trong một trong các bộ sưu tập. Ở đây chúng ta sẽ cố gắng tìm kiếm tất cả các tài liệu bằng cách sử dụng tương tự như “Like“ ________số 8_______ Bây giờ chúng ta sẽ thử một vài bộ like trong truy vấn MongoDB Tình huống 1 – Truy vấn MongoDB với tiêu chí 'Thích' ở nơi khác trong trườngHãy xây dựng một truy vấn để lấy tên Tác giả trong đó tên chứa một từ như “J” cho trường Tác giả giả định “J” có thể được chứa ở đầu hoặc cuối hoặc ở giữa hoặc bất kỳ nơi nào khác của tên Tác giả mẫu truy vấn { Trong đó 'J' là tiêu chí tìm kiếm của bạn Truy vấn mẫu { Author: /.J./ } Kết quả Mongo Shell, > db.Books.find({Author:/*.J.*/})
{ "_id" : ObjectId("5db5a4476997188b2722c820"), "Name" : "Design Patterns", "Price" : 54.93, "Category" : "Computers", "Author" : "Ralph Johnson" }
{ "_id" : ObjectId("5f34a2430c3ca98a8c9052d2"), "Name" : "Design Patterns", "Price" : 56.00, "Category" : "Computers", "Author" : "Mike Johnson" }
Tình huống 2 – Truy vấn MongoDB với 'Like' bắt đầu với một số tiêu chíhãy xây dựng một truy vấn để Lấy danh sách các mục bắt đầu với một số tiêu chí tìm kiếm. Ví dụ “Ro” cho trường Tác giả mẫu truy vấn { Field Name : /^Ro/ } Trong đó 'Ro' là tiêu chí tìm kiếm của bạn Ghi chú. Truy vấn trên có truy vấn phân biệt chữ hoa chữ thường Truy vấn mẫu db.Books.find( { Author:/^Ro/ } ) Kết quả Mongo Shell, > db.Books.find({Author:/^Ro/})
{ "_id" : ObjectId("5db5a4476997188b2722c821"), "Name" : "Clean Code", "Price" : 43.15, "Category" : "Computers", "Author" : "Robert C. Martin" } Truy vấn trên, chúng ta có Tác giả “Robert C. Martin” phù hợp với tiêu chí tìm kiếm Tình huống 3 – Lấy danh sách các mục kết thúc bằng một số tiêu chíhãy xây dựng một truy vấn để Lấy danh sách các mục kết thúc bằng một số tiêu chí tìm kiếm. Ví dụ “rt” cho trường Tác giả mẫu truy vấn { Field Name : /rt$/ } Ghi chú. ví dụ hiển thị truy vấn phân biệt chữ hoa chữ thường Truy vấn mẫu db.Books.find( { Author:/rt$/ } ) Kết quả Mongo Shell, > db.Books.find({Author:/rt$/}) { "_id" : ObjectId("5ff503cda29ce9564c2724e3"), "Name" : "Code Refactoring", "Price" : 43.15, "Category" : "Computers", "Author" : "Julia Robert"} Truy vấn trên, chúng tôi có Tác giả “Julia Robert” phù hợp với tiêu chí tìm kiếm Thích truy vấn bằng Regex?Tôi sẽ trình bày thêm một số truy vấn sử dụng regex trong bài viết tiếp theo, Truy vấn kiểu Mongodb không phân biệt chữ hoa chữ thườngVui lòng xem bài viết dưới đây để biết thêm ví dụ về MongoDB như truy vấn phân biệt chữ hoa chữ thường và truy vấn nhạy cảm Toán tử like trong MongoDB là gì?MongoDB không hỗ trợ toán tử like thường gặp trong SQL. Chúng ta có thể đạt được chức năng tương tự của toán tử like bằng cách sử dụng hàm find() và biểu thức chính quy.
$$ bây giờ trong MongoDB là gì?$$NOW là một biến tổng hợp , có nghĩa là nó chỉ có thể được sử dụng trong quy trình tổng hợp. Do tài liệu, phương thức save() không được dùng nữa. sử dụng insertOne() thay thế. Để chèn ngày hiện tại, bạn cần cung cấp giá trị ngày ở phía máy khách.
Regex tương đương trong MongoDB là gì?MongoDB cũng cung cấp chức năng biểu thức chính quy để khớp mẫu chuỗi bằng cách sử dụng $regex toán tử . MongoDB sử dụng PCRE (Biểu thức chính quy tương thích Perl) làm ngôn ngữ biểu thức chính quy.
Chúng tôi có thể sử dụng $match trong Find MongoDB không?Về cơ bản, MongoDB cung cấp các toán tử đối sánh khác nhau như $match và $count, v.v. cho người dùng và chúng tôi có thể sử dụng chúng theo yêu cầu của mình. We can also use a match operator for the aggregation pipeline. |