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

索引大型文本字段以使MongoDB中的查询更快

隆康平
2023-03-14
本文向大家介绍索引大型文本字段以使MongoDB中的查询更快,包括了索引大型文本字段以使MongoDB中的查询更快的使用技巧和注意事项,需要的朋友参考一下

要为大文本字段建立索引,请ensureIndex()与$regex一起使用以进行文本搜索。让我们创建一个包含文档的集合-

> db.demo46.ensureIndex({"Name":1});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo46.insertOne({"Name":"John Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e267004cfb11e5c34d898ed")
}
> db.demo46.insertOne({"Name":"John Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e267009cfb11e5c34d898ee")
}
> db.demo46.insertOne({"Name":"Chris Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e267011cfb11e5c34d898ef")
}

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

> db.demo46.find();

这将产生以下输出-

{ "_id" : ObjectId("5e267004cfb11e5c34d898ed"), "Name" : "John Smith" }
{ "_id" : ObjectId("5e267009cfb11e5c34d898ee"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e267011cfb11e5c34d898ef"), "Name" : "Chris Brown" }

以下是索引大文本字段以使查询更快的查询-

> db.demo46.find({ Name: { $regex:/^John/}});

这将产生以下输出-

{ "_id" : ObjectId("5e267009cfb11e5c34d898ee"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e267004cfb11e5c34d898ed"), "Name" : "John Smith" }
 类似资料:
  • 我正在通过猫鼬使用MongoDB。 > MongoDB是执行集合扫描还是索引有助于提高查询效率?查询是否与仅使用id字段有任何不同? 如果MongoDB在您查询非索引字段时进行集合扫描。如果集合扫描完全相同,查询多个非索引字段是否会加快查询速度?假设我查询五个非索引字段而不是两个(都返回相同的文档)。两个查询是否都进行相同的集合扫描?

  • 我在postgres数据库中有一个名为的列,它存储一个JSON字符串,类型是。 我试图运行一个查询来更新JSON中名为的字段。我使用Spring Boot和JDBC。 我得到了以下错误: 我可以运行一个查询来更新JSON中的列吗?

  • 本文向大家介绍MongoDB查询以公式更新集合中文档的每个字段,包括了MongoDB查询以公式更新集合中文档的每个字段的使用技巧和注意事项,需要的朋友参考一下 要使用公式更新集合中文档的每个字段,请使用MongoDB update()。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是使用公式更新集合中文档的每个字段的查询- 在find()

  • 如何获得最大截面。Id位于下面的文档中,其中包含集合_id=一些参数 我在下面试过了 但是,它不是返回max int单个值,而是返回一个包含部分数组中所有Ids的数组。 在节点中执行时,进一步执行相同的查询。js它返回一个空数组。

  • 我有一个只有2个文档的mongodb数据库。两者具有相同的结构: 小文档在消息中有0个对象,大文档有1000个。我数了数这两份文件上的标牌:小:28000大:450000 我使用nodeJS和常规mongodb驱动程序访问文档,并且我将索引设置为“general.sid”。 现在我要他们的将军提供文件。而且这两个文档的时间差别很大!我接收文档,进行一些计算并更新文档。 我打印接收和更新文档之前和之

  • 主要内容:什么是覆盖索引查询?,使用覆盖索引查询你可能听说过列索引是通过最大限度地减少查询所需的磁盘访问次数来优化查询性能的好方法。MongoDB 有一个字段索引的特定应用程序,称为覆盖索引查询(Covered Queries),其中查询的所有列都被进行索引。因为 MongoDB 不必检查除索引之外的任何文档,所以覆盖索引查询非常快。本节我们就来学习一下如何使用覆盖索引查询更快地查询数据。 什么是覆盖索引查询? 根据 MongoDB 官方文档,