MongoDB查询如何在字段值中搜索类似“@email”的字符串

使用MongoDB find()搜索电子邮件字符串。让我们创建一个包含文档的集合-

> db.demo727.insertOne({UserId:"John@email.com"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eab375f43417811278f5898")
}
> db.demo727.insertOne({UserId:"John@yahoo.com"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eab376043417811278f5899")
}
> db.demo727.insertOne({UserId:"Chris@EMAIL.com"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eab376143417811278f589a")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo727.find();

这将产生以下输出-

{ "_id" : ObjectId("5eab375f43417811278f5898"), "UserId" : "John@email.com" }
{ "_id" : ObjectId("5eab376043417811278f5899"), "UserId" : "John@yahoo.com" }
{ "_id" : ObjectId("5eab376143417811278f589a"), "UserId" : "Chris@EMAIL.com" }

以下是查询@email的查询,例如字符串-

> db.demo727.find({"UserId":/@email/i});

这将产生以下输出-

{ "_id" : ObjectId("5eab375f43417811278f5898"), "UserId" : "John@email.com" }
{ "_id" : ObjectId("5eab376143417811278f589a"), "UserId" : "Chris@EMAIL.com" }