繁体   English   中英

显示mongodb索引内容

[英]Display mongodb index contents

建立索引后,我想查看索引的内容。 以MonboDB文档中的示例为例:

{ "_id" : ObjectId("..."),
"name" : "Warm Weather",
"author" : "Steve",
"tags" : [ "weather", "hot", "record", "april" ] }

然后,标签字段上的索引将具有以下值:

{ tags: "weather" }
{ tags: "hot" }
{ tags: "record" }
{ tags: "april" }

因此,我想运行一个命令,例如db.weather._tags_.find()来显示所述值。

问题:是否存在这样的shell命令? 还是有办法在C ++驱动程序中做到这一点?

@ user1883451

您给出的示例是哈希索引,mongodb在内部存储B树索引。

因此,您给出的示例并不总是正确的,在某些情况下,mongodb最终存储以这种方式存储,但并非总是如此。 [以简单的方式理解它很好]

  1. shell是客户端,它不显示“内部如何存储索引”
  2. 驱动程序主要是与服务器进行交互(过于简单化),它对如何存储东西也一无所知。

A)如何查看mongodb索引

最好的开始是获取mongo源代码并开始使用它。

https://github.com/mongodb/mongo/tree/master/src/mongo/db/具有索引的文件* https://github.com/mongodb/mongo/tree/master/src/mongo/db/具有索引的文件btree *

B)我假设您只是为了学习目的而做。 如果您有任何特定的查询,为什么要这么做就可以射出查询。

PS:1.关于内部结构和源代码的代码更多,而文档更少。 2.您可以加入http://groups.google.com/group/mongodb-dev

@ranman是的,我用。 我想了解一下索引本身,以了解为什么未使用查询。 我喜欢按部就班地使用字节和字符,以加深对引擎盖下正在发生的事情的理解。 – user1883451 1小时前

在这种情况下,您应该查看查询优化程序和相关内部信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM