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

Truy vấn MongoDB với triển khai "like" trên trường tên và email bắt đầu bằng một chữ cái cụ thể?

Để triển khai "like" trong MongoDB, hãy sử dụng / / và đặt chữ cái cụ thể đó ở giữa. Ví dụ -

/J/

Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo554.insertOne({"UserName":"John","UserMailId":"John@gmail.com"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8f1cfed1d72c4545cb8679")
}
> db.demo554.insertOne({"UserName":"Chris","UserMailId":"Chris@gmail.com"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8f1d0cd1d72c4545cb867a")
}
> db.demo554.insertOne({"UserName":"Jace","UserMailId":"Jace@gmail.com"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8f1d1cd1d72c4545cb867b")
}

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.demo554.find();

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

{ "_id" : ObjectId("5e8f1cfed1d72c4545cb8679"), "UserName" : "John", "UserMailId" : "John@gmail.com" }
{ "_id" : ObjectId("5e8f1d0cd1d72c4545cb867a"), "UserName" : "Chris", "UserMailId" : "Chris@gmail.com" }
{ "_id" : ObjectId("5e8f1d1cd1d72c4545cb867b"), "UserName" : "Jace", "UserMailId" : "Jace@gmail.com" }

Sau đây là truy vấn để triển khai “like” -

> db.demo554.find({
...    "$or": [
...       { "UserName": /J/ },
...
...       { "UserMailId": /J/ }
...    ]
... }
... );

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

{ "_id" : ObjectId("5e8f1cfed1d72c4545cb8679"), "UserName" : "John", "UserMailId" : "John@gmail.com" }
{ "_id" : ObjectId("5e8f1d1cd1d72c4545cb867b"), "UserName" : "Jace", "UserMailId" : "Jace@gmail.com" }