mongodb-indexes相关内容

更改 mongoDB 聚合中的字段类型,$lookup 是否使用字段索引?

我正在使用 $lookup 在 mongodb 中执行连接,现在我在这里遇到了问题.我有两个集合,第一个包含用户所有书签品牌,第二个包含有关品牌的所有详细信息.现在我正在尝试返回用户添加书签的所有品牌详细信息. user_bookmarked收藏 {"mobile_no": "8971740148", "brands": ["5829c1df334d40e20e1d1c19", "5829 ..
发布时间:2022-01-20 13:27:16 其他开发

当存在大的字段组合时,在 MongoDB 中索引的正确方法是什么

考虑到我的搜索面板包含多个选项,如下图所示: 我正在使用 mongo 并按特定顺序在 3-4 个属性上创建复合索引.但是当我运行不同的搜索组合时,我每次都会看到执行计划(explain())中的不同顺序.有时我在 Collection scan (bad) 上看到它,有时它正好适合索引 (IXSCAN). mongo 索引应该处理的选择性字段是:(brand,Types,Status, ..
发布时间:2022-01-07 14:26:51 其他开发

不同类型的 MongoDB 索引

我们可以在同一个集合中拥有 { data: "hello" }, { data: 123 } 甚至在其上创建索引.我很好奇 mongodb 是如何在后台管理索引的.我们不能在不同类型上创建单个 B 树.对?但是,我确实使用了 getIndexes 来查看是否创建了另一个索引,但只创建了一个索引. 解决方案 在同一个索引中有两种类型没有问题.索引中的每个键都包含类型. 当您查询时,只会 ..
发布时间:2021-12-21 23:47:55 其他开发

mongo 中的稀疏索引和空值

我不确定我是否正确理解稀疏索引. 我在 fbId 上有一个稀疏的唯一索引 {"ns" : "mydb.users",“钥匙" : {“fbId":1},“名称":“fbId_1",“独特":真实,“稀疏":真的,“背景":假,“v":0} 并且我期望这将允许我插入带有 null 作为 fbId 的记录,但这会引发重复的键异常.如果完全删除 fbId 属性,它只允许我插入. 稀疏索引 ..
发布时间:2021-12-21 23:37:45 其他开发

是否有任何工具可以估算 MongoDB 中的索引大小?

我正在寻找一种工具来根据以下几个信号对 Mo​​ngoDB 索引的大小进行适当的估计: 我的收藏中有多少文档 索引字段的大小 如果不是 ObjectId,我使用的 _id 的大小 地理位置/非地理位置 有没有人偶然发现这样的事情?我可以想象,一旦 Mongo 遇到内存墙并且文档开始被分页到磁盘时,它的性能就会下降,我可以想象它会非常有用.如果我有一个正常运行的数据库并且想要添加另 ..
发布时间:2021-12-21 23:35:54 其他开发

mongodb/mongoose 中的部分索引

在稀疏索引文档中,我发现了关于 mongodb 3.2 部分索引的注释 在 3.2 版更改:从 MongoDB 3.2 开始,MongoDB 提供了创建部分索引的选项.部分索引提供了一个超集稀疏索引的功能.如果您使用的是 MongoDB 3.2 或之后,部分索引应该优先于稀疏索引. 部分索引非常有用且我想在我的项目中使用它们.可以和猫鼬一起使用吗? 解决方案 在目前的 Mong ..
发布时间:2021-12-17 11:58:55 其他开发

Spring Data MongoDB 慢 MongoTemplate.find() 性能

我在查询约 12,000 个用户文档时遇到性能问题,按 1 列(公司 ID)索引,没有其他过滤器.整个收藏只有~27000.我花了大约 12 秒来获取 ~12000 行数据... 我尝试为这个查询运行解释:db.instoreMember.find({companyId:"5b6be3e2096abd567974f924"}).explain(); 结果如下: {“查询规划器":{“ ..

MongoDB 索引:多个单字段与单个复合?

我有一组地理空间+时间数据和一些附加属性,我将在地图上显示这些数据.该集合目前有几百万个文档,并且会随着时间的推移而增长. 每个文档都有以下字段: 位置:[geojson 对象] 日期:[日期对象] 缩放级别:[int32] 条目类型:[ObjectID] 我需要能够通过位置(通常为 geowithin 查询)、日期(通常为 $gte/$lt)、ZoomLevel 和 En ..
发布时间:2021-06-03 19:57:03 其他开发

MongoDB 在仅返回 _id 时使用 COLLSCAN

我想从 MongoDB 集合中返回所有 ID,我使用了以下代码: db.coll.find({}, { _id: 1}) 但是 MongoDB 会扫描整个集合,而不是从默认的 index { _id: 1 } 中读取信息. 来自日志: { find: "collection", filter: {},projection: { _id: 1 } }planSummary: COLLSC ..
发布时间:2021-06-03 19:36:02 其他开发

mongodb compund索引与索引相交

集合中的各个分片中大约有30亿个文档. 假设我将使用索引无法完全满足的查询. 而且我没有使用按键进行排序. 具有如下索引(与查询匹配)是否有意义: {"sid":1, "cid":1, "mid":1} {"cid":1, "hid":1, "mid":1} {"mid":1, "hid":1, "sid":1} {"hid":1, "sid":1, "cid":1, "mid":1} ..
发布时间:2020-07-01 00:35:56 其他开发

存在大量字段组合时在MongoDB中建立索引的正确方法是什么

考虑到我的搜索面板包含多个选项,如下图所示: 我正在使用mongo,并按特定顺序在3-4个属性上创建复合索引. 但是,当我运行不同的搜索组合时,执行计划(explain())每次都会看到不同的顺序.有时我在Collection扫描中看到它(坏),有时它恰好适合索引(IXSCAN). mongo索引应处理的选择性字段为:(brand,Types,Status,Warehouse,Carries ..
发布时间:2020-07-01 00:35:52 其他开发

如何在猫鼬模型上使用partialFilterExpression

我创建了一个带有电子邮件字段的猫鼬模型.如果用户提供了一个值,我希望它是唯一的,但是如果用户未提供任何值,我希望它为空.我在这里找到了一个很好的mongodb参考: https://docs.mongodb.com/manual/core/index-partial/#partial-index-with-unique-constraints 可以工作,但我不知道如何使它在猫鼬上工作 > 这是该 ..
发布时间:2020-05-11 22:03:55 其他开发

MongoDB:如何索引未知字段

我们正在存储结构未定义的文档.我的意思是,它具有基本结构(id,user和creationTimestamp),但也有一个Map values字段,我们可以在其中存储任何结构: public class Metadata { private String id; private String user; private Date cre ..
发布时间:2020-05-11 21:15:48 其他开发

为什么Mongo在执行IXSCAN之后在FETCH中查询空过滤器

根据 Mongo文档, { item : null }查询匹配包含以下内容的文档: item字段,其值为null或不包含item 字段. 我找不到有关此内容的文档,但据我所知,两种情况(值是null或字段缺失)都以null的形式存储在索引中. 因此,如果我先执行db.orders.createIndex({item: 1}),然后再执行db.orders.find({item: ..