Có, bạn có thể sử dụng $ indexOfCP để sử dụng giá trị được phân loại làm mẫu. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo88.insertOne (... {... "Tên":"Chris", ... "PassoutYear":"2020", ... "websiteName":"chris.shop.com/ Carol-2020 - "...} ...); {" Recognition ":true," insertId ":ObjectId (" 5e2c14c471bf0181ecc422b1 ")}> db.demo88.insertOne (... {..." Name ":"David", ... "PassoutYear":"2010", ... "websiteName":"david.bigshop.com/David-2010 -" ...} ...); {"Recognition":true, "insertId":ObjectId ("5e2c14c571bf0181ecc422b2")}
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.demo88.find ();
Điều này sẽ tạo ra kết quả sau -
{"_id":ObjectId ("5e2c14c471bf0181ecc422b1"), "Tên":"Chris", "PassoutYear":"2020", "websiteName":"chris.shop.com/Carol-2020-"} {" _id ":ObjectId (" 5e2c14c571bf0181ecc422b2 ")," Tên ":" David "," PassoutYear ":" 2010 "," websiteName ":" david.bigshop.com/David-2010- "}
Sau đây là truy vấn sử dụng giá trị trường làm mẫu trong $ regex -
> db.demo88.aggregate ([{"$ match":{"$ expr":{"$ ne":[{"$ indexOfCP":["$ websiteName", "$ Name"]}, - 1]}}}])
Điều này sẽ tạo ra kết quả sau -
{"_id":ObjectId ("5e2c14c571bf0181ecc422b2"), "Tên":"David", "PassoutYear":"2010", "websiteName":"david.bigshop.com/David-2010-"}