当前位置: 首页 > 编程笔记 >

MongoDB $regex使用运算符i或I不区分大小写的搜索

史英飙
2023-03-14
本文向大家介绍MongoDB $regex使用运算符i或I不区分大小写的搜索,包括了MongoDB $regex使用运算符i或I不区分大小写的搜索的使用技巧和注意事项,需要的朋友参考一下

为此,您需要使用不区分大小写的(i)。让我们创建一个包含文档的集合-

> db.demo759.insertOne({SubjectName:"MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eb02ba95637cd592b2a4ae7")
}
> db.demo759.insertOne({SubjectName:"MongoDB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eb02baa5637cd592b2a4ae8")
}
> db.demo759.insertOne({SubjectName:"mongodb"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eb02baf5637cd592b2a4ae9")
}
> db.demo759.insertOne({SubjectName:"MONGODB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eb02bb85637cd592b2a4aea")
}

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

> db.demo759.find();

这将产生以下输出-

{ "_id" : ObjectId("5eb02ba95637cd592b2a4ae7"), "SubjectName" : "MySQL" }
{ "_id" : ObjectId("5eb02baa5637cd592b2a4ae8"), "SubjectName" : "MongoDB" }
{ "_id" : ObjectId("5eb02baf5637cd592b2a4ae9"), "SubjectName" : "mongodb" }
{ "_id" : ObjectId("5eb02bb85637cd592b2a4aea"), "SubjectName" : "MONGODB" }

以下是实现MongoDB正则表达式运算符的查询-

> db.demo759.find({"SubjectName":{$regex:/mongodb/i}});

这将产生以下输出-

{ "_id" : ObjectId("5eb02baa5637cd592b2a4ae8"), "SubjectName" : "MongoDB" }
{ "_id" : ObjectId("5eb02baf5637cd592b2a4ae9"), "SubjectName" : "mongodb" }
{ "_id" : ObjectId("5eb02bb85637cd592b2a4aea"), "SubjectName" : "MONGODB" }
 类似资料:
  • 问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,

  • 问题内容: 我正在将Java应用程序的ORM的Hibernate用于Oracle数据库(并不是数据库供应商很重要,有一天我们可能会切换到另一个数据库),我想根据用户提供的字符串从数据库中检索对象。例如,在搜索人员时,如果用户正在寻找居住在“ fran”中的人员,我希望能够将其人员提供给旧金山。 SQL不是我的强项,我更喜欢Hibernate的构建代码,而不是硬编码的字符串。谁能指出正确的方向,说明

  • 问题内容: 我正在尝试使用JavaScript中的两个字符串进行不区分大小写的搜索。 通常情况如下: 该标志将不区分大小写。 但是我需要搜索第二个字符串。没有标志,它可以完美地工作: 如果我在上面的示例中添加标志,它将搜索searchstring而不是变量“ searchstring”中的内容(下一个示例不起作用): 我该如何实现? 问题答案: 是的,使用而不是。调用的结果将返回匹配自身的实际字符

  • 我有一本区分大小写的字典, 所以我可以在这本字典里找到区分大小写的键。 例如,我可以有下面的键值对, {test,10} {测试,20} {test1,30} {test2,40} ... 当有人传递密钥时,我想检索该值。检索应该部分不区分大小写,这意味着,如果匹配准确的大小写,则返回区分大小写的结果,如果区分大小写的键不存在,则检索区分大小写的键值。 例如,在字典中插入上述值 如果用户通过“测试

  • 问题内容: 我有以下代码: 我的预期输出在注释中。实际输出如下: 我对函数调用和增量运算符感到困惑。有人可以解释一下实际结果吗? 问题答案: 首先你需要知道的区别和; 如果是: 首先,将使用当前值,然后将其递增。这意味着您将获得操作的当前值,并且如果您下次使用x将获得递增的值; 如果是: 首先,当前值将增加,然后将使用它(增加的值),这意味着您将在此操作中获得增加的值,而在此操作之后将获得其他值。

  • 问题内容: 如何以 不区分大小写的 方式在文件中搜索单词? 例如 如果我正在文件中搜索,如果文件包含更新,则搜索应将其选中并将其视为匹配项。 问题答案: 可以在忽略大小写的情况下检查两个字符串是否相等。它甚至可以与Unicode一起使用。有关更多信息,请参见http://golang.org/pkg/strings/#EqualFold。 http://play.golang.org/p/KDdI