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

如何在MongoDB未索引字段上有效运行复杂查询?

贺刚毅
2023-03-14
本文向大家介绍如何在MongoDB未索引字段上有效运行复杂查询?,包括了如何在MongoDB未索引字段上有效运行复杂查询?的使用技巧和注意事项,需要的朋友参考一下

创建索引以有效运行复杂的查询。首先让我们创建一个包含文档的集合-

> db.demo400.insertOne({SubjectName:"Java Spring"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610720fac4d418a0178572")
}
> db.demo400.insertOne({SubjectName:"Spring Hibernate"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e61072dfac4d418a0178573")
}
> db.demo400.insertOne({SubjectName:"Java Hibernate"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610736fac4d418a0178574")
}
> db.demo400.createIndex({SubjectName:"text"});
{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}

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

> db.demo400.find();

这将产生以下输出-

{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }
{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610736fac4d418a0178574"), "SubjectName" : "Java Hibernate" }

以下是在未索引字段上有效执行复杂查询的查询-

> db.demo400.find({ $text: { $search: "Spring" } } )

这将产生以下输出-

{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }
 类似资料:
  • 问题内容: 我无法使用猫鼬的语法查询mongodb数据库。 我有一个架构,其坐标存储为数组,索引为: 我正在使用运行猫鼬查询: 我已启用,并且可以看到生成的调试信息: 在集合中插入2个坐标为的文档: 在坐标附近搜索文档: 查询不返回 结果。 我通过搜索证明了文档已在数据库中。它是我无法使用的地理空间查询。 我正在使用和 完整的工作示例如下: 架构:(model.js) 摩卡测试:(test.ts)

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

  • 比如说我有一个叫候选人的集合。我想在此集合中的所有字段上创建一个文本索引。在mongo,我知道我可以这样做 这是我的java pojo或实体。 现在如何在java中执行?这就是如何索引整个pojo或如何索引集合中的所有字段? 这个问题试图做同样的事情,但没有完整的细节。 此外,我还研究了索引注释,但是,由于它只能应用于字段,如何使用它来索引整个集合?

  • 我一直在使用关系数据库,最近决定将性能关键服务从SQL服务器迁移到Tarantool,希望利用内存中的快速搜索和处理。在计划迁移时,我有几个问题。 我有一个包含大约一百万条记录的表,其中包含定价信息,这意味着我主要处理的是数字和UUID。首先,我需要运行一个包含多个条件的select来获取数据的子集,如 Q1:在Lua中运行这样一个查询的策略是什么?我是为谓词中的每个字段创建索引,还是可以使用一个

  • 本文向大家介绍如何在MongoDB中为多个字段建立索引的“或”索引?,包括了如何在MongoDB中为多个字段建立索引的“或”索引?的使用技巧和注意事项,需要的朋友参考一下 要为多个字段建立索引,请使用sureIndex()作为组合。使用sureIndex(),我们可以创建索引,甚至可以传递多个字段。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 我一直在学习MongoDB在Spring Boot中的实现。然而,我遇到了复杂查询的问题。 对于如何从Spring Boot到MongoDB实现复杂查询,我找不到任何正确的解决方案。 null POJO类是bellow的 我想实现什么? 我想做一个查询,这将返回给我一个人,他的宠物有一个玩具(PetToy)与名称“泰迪”。 事先非常感谢。