Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tìm kiếm một chuỗi có các ký tự đặc biệt trong tài liệu MongoDB?

Để tìm kiếm một chuỗi có các ký tự đặc biệt trong tài liệu MongoDB, bạn có thể sử dụng \. Ở đây, chúng tôi có ký tự đặc biệt $ trong chuỗi của chúng tôi.

Trước tiên, hãy để chúng tôi triển khai truy vấn sau để tạo một bộ sưu tập với các tài liệu

>db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Smith$John123","UserFirstName":"John","UserLastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c987b98330fd0aa0d2fe4b1")
}
>db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Taylor$Carol983","UserFirstName":"Carol","UserLastName":"Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c987bdb330fd0aa0d2fe4b2")
}
>db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Doe$John999","UserFirstName":"John","UserLastName":"Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c987bee330fd0aa0d2fe4b3")
}
>db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Miller$David555","UserFirstName":"David","UserLastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c987c01330fd0aa0d2fe4b4")
}

Sau đây là truy vấn để 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.searchDocumentWithSpecialCharactersDemo.find().pretty();

Điều này sẽ tạo ra kết quả sau

{
   "_id" : ObjectId("5c987b98330fd0aa0d2fe4b1"),
   "UserId" : "Smith$John123",
   "UserFirstName" : "John",
   "UserLastName" : "Smith"
}
{
   "_id" : ObjectId("5c987bdb330fd0aa0d2fe4b2"),
   "UserId" : "Taylor$Carol983",
   "UserFirstName" : "Carol",
   "UserLastName" : "Taylor"
}
{
   "_id" : ObjectId("5c987bee330fd0aa0d2fe4b3"),
   "UserId" : "Doe$John999",
   "UserFirstName" : "John",
   "UserLastName" : "Doe"
}
{
   "_id" : ObjectId("5c987c01330fd0aa0d2fe4b4"),
   "UserId" : "Miller$David555",
   "UserFirstName" : "David",
   "UserLastName" : "Miller"
}

Sau đây là truy vấn để tìm kiếm chuỗi có các ký tự đặc biệt trong tài liệu MongoDB. Ở đây, chúng tôi đang tìm kiếm một chuỗi John có ký tự đặc biệt $

> db.searchDocumentWithSpecialCharactersDemo.find({ UserId : /.*\$John.*/i }).pretty();

Điều này sẽ tạo ra kết quả sau:

{
   "_id" : ObjectId("5c987b98330fd0aa0d2fe4b1"),
   "UserId" : "Smith$John123",
   "UserFirstName" : "John",
   "UserLastName" : "Smith"
}
{
   "_id" : ObjectId("5c987bee330fd0aa0d2fe4b3"),
   "UserId" : "Doe$John999",
   "UserFirstName" : "John",
   "UserLastName" : "Doe"
}