显示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-Tree索引。
所以您给出的例子并不总是正确的,mongodb在某些情况下最终会以这种方式存储,但并不总是如此。
- shell是客户端,它不显示"内部如何存储索引">
- 驱动程序主要是和服务器交互(过于简单化),它也不知道东西是如何存储的
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小时前
在这种情况下,您应该查看查询优化器和相关内部。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 数组索引的值没有增加
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 查找最接近的大于当前数字的数字的索引
- 在C++中调整向量中的索引
- 重载元组索引运算符-C++
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 为std::string的某个索引赋值
- 并行用于C++17中数组索引范围内的循环
- 跟随整数索引列表的自定义类迭代器
- 如何在for循环中包含两个索引值的测试条件
- D3D11-将混合权重和索引传递到顶点着色器
- 将转换字符键入 int 以用作向量C++的索引
- 在 C++ 中访问数组负索引处的内存不会返回垃圾
- 如何为圆环创建索引
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- 查找字符在两个索引之间出现的次数
- 显示mongodb索引内容
- MongoDB使用C 驱动程序创建稀疏索引
- Mongodb 地圈和干草堆索引拒绝有效的线字符串