当前位置: 首页 > 面试题库 >

mongodb / mongoose中的部分索引

章飞虎
2023-03-14
问题内容

在稀疏索引文档中,我发现了有关mongodb 3.2部分索引的说明

在版本3.2中进行了更改:从MongoDB
3.2开始,MongoDB提供了创建部分索引的选项。部分索引提供了稀疏索引功能的超集。如果您使用的是MongoDB
3.2或更高版本,则应优先使用部分索引而不是稀疏索引。

部分索引非常有用,我想在项目中使用它们。可以和猫鼬一起使用吗?


问题答案:

在当前的Mongoose版本4.3.7中,您无法在方案中定义部分索引,但仍可以使用MongoDB 3.2的部分索引。

您只需要使用本机驱动程序创建索引。

// ScheduleModel is a Mongoose Model
ScheduleModel.collection.createIndex({"type" : 1 } , {background:true , partialFilterExpression : { type :"g" }} , function(err , result){
     console.log(err , result);
});

之后,每个与匹配的查询partialFilterExpression都将被索引。



 类似资料:
  • 问题内容: 以下是我在模型中的架构- 这就是我在控制器中使用它的方式- 这就是我将其保存在数据库中的方式- 错误 - 我检查了数据库集合,没有这样的重复条目,让我知道我在做什么错吗? 仅供参考- 和被获取的值。 我也检查了这篇文章,但没有帮助STACK LINK 如果我将其完全删除,则它将插入文档,否则即使我在local.email中有条目,也会引发错误“ Duplicate”错误 问题答案: 错

  • 如果我搜索John,就会得到结果(如果我搜索Jo,就会得到event)。但如果我搜索无名氏,显然没有任何结果。 如果我将查询更改为JohnDoe,我会得到结果,但它会返回所有在其最后/名字中有John或Doe的人。 接下来是尝试使用mongoose TextSearch: 有办法解决吗? 没有外部插件的答案是首选的,但其他的也是希望的。

  • 我的mongoDB中有这种数据 这里假设我做一个查询 这给了我她的结果,但我有名字“nna”或名字“Ana”或名字“anna”或任何其他组合。那么,如何使用Mongoose获取MongoDB中字符串的最接近值呢

  • 问题内容: 每当我尝试在mongodb中存储位置时,它都不会显示,所以我想我做错了什么。我找不到有关如何在猫鼬中存储位置的任何文档,所以我只想在这里问一下。 我首先创建我的模型: 然后,我尝试将其添加到我的数据库中: 当我查看数据库时,除了位置以外,所有内容都被存储了。 问题答案: 我自己修好了。 我在模型中这样做: 在下面,我将其设为2dsphere索引。 并向其中添加数据:

  • 下面是模型中的架构- 这就是我在控制器中使用它的方式- 我就是这样把它保存在数据库里的- 错误- 我检查了数据库集合,没有这样的重复条目存在,让我知道我做错了什么? FYI-和正在获取值。 我也检查了这篇文章,但没有帮助堆栈链接 如果我完全删除,它就插入文档,否则它会抛出错误“重复”错误,即使我在local.email中有一个条目

  • 在我的一个项目中,我有一个表,其中保存了某种设备的固件更新信息。最初,任何固件更新进程都处于排队状态。更新过程可能有其他状态值,例如正在进行、已完成、失败。对于单个设备,可能存在状态为“已完成”和“已失败”的多行(已完成的更新过程,最终状态!)。但在任何时候,处于排队或正在进行状态的每个设备都必须只有一个更新过程——新固件的推出应该只适用于没有“活动/非最终”更新过程的设备。我试图用Postgre