在 MongoDB 中檢查一個欄位是否包含一個字串?
你可以在 MongoDB 中使用 $regex 運算子來檢查一個欄位是否包含一個字串。語法如下 −
db.yourCollectionName.findOne({"yourFieldName":{$regex:".*yourValue.*"}});為了理解上面的概念,讓我們建立一個帶有文件的集合。建立帶有文件的集合的查詢如下 −
> db.checkFieldContainsStringDemo.insertOne({"Id":1,"Name":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77d762fc4e719b197a12ed")
}
> db.checkFieldContainsStringDemo.insertOne({"Id":2,"Name":"Johnson"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77d76bfc4e719b197a12ee")
}
> db.checkFieldContainsStringDemo.insertOne({"Id":3,"Name":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77d774fc4e719b197a12ef")
}
> db.checkFieldContainsStringDemo.insertOne({"Id":4,"Name":"Mike"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77d77cfc4e719b197a12f0")
}
> db.checkFieldContainsStringDemo.insertOne({"Id":5,"Name":"Sam"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77d784fc4e719b197a12f1")
}
> db.checkFieldContainsStringDemo.insertOne({"Id":6,"Name":"Larry"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c77d78cfc4e719b197a12f2")
}藉助於 find() 方法顯示集合中的所有文件。查詢如下 −
> db.checkFieldContainsStringDemo.find();
以下是輸出 −
{ "_id" : ObjectId("5c77d762fc4e719b197a12ed"), "Id" : 1, "Name" : "John" }
{ "_id" : ObjectId("5c77d76bfc4e719b197a12ee"), "Id" : 2, "Name" : "Johnson" }
{ "_id" : ObjectId("5c77d774fc4e719b197a12ef"), "Id" : 3, "Name" : "Carol" }
{ "_id" : ObjectId("5c77d77cfc4e719b197a12f0"), "Id" : 4, "Name" : "Mike" }
{ "_id" : ObjectId("5c77d784fc4e719b197a12f1"), "Id" : 5, "Name" : "Sam" }
{ "_id" : ObjectId("5c77d78cfc4e719b197a12f2"), "Id" : 6, "Name" : "Larry" }以下是在 MongoDB 中檢查欄位是否包含特定字串的查詢。這裡我們在欄位中搜索的字串是“Johnson” −
> db.checkFieldContainsStringDemo.findOne({"Name":{$regex:".*Johnson.*"}});以下是輸出 −
{
"_id" : ObjectId("5c77d76bfc4e719b197a12ee"),
"Id" : 2,
"Name" : "Johnson"
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP