【问题标题】:MongoDB Index on different types不同类型的 MongoDB 索引
【发布时间】:2011-06-20 17:43:36
【问题描述】:

我们可以在同一个集合中拥有 { data: "hello" }, { data: 123 },甚至可以在其上创建索引。我很好奇 mongodb 是如何在后台管理索引的。我们不能在不同类型上创建单个 B 树。正确的?但是,我确实 getIndexes 来查看是否创建了另一个索引但只创建了一个索引。

【问题讨论】:

    标签: mongodb indexing mongodb-indexes


    【解决方案1】:

    在同一个索引中有两种类型没有问题。索引中的每个键都包含类型。

    当您查询时,只会返回与您查询的类型匹配的对象。

    因此,如果您查询 {data: "hello"},则只会返回字符串等。

    【讨论】:

    • 但是在管理索引时,我们需要执行比较操作。 mongo中不同类型的比较如何。在类型不匹配或类似情况下是否考虑插入时间?
    • @SushantGupta 你找到你评论的答案了吗?如果是,请告诉我们我有同样的问题
    • @babakfaghihian 不,我没有。你可以去问问。我很高兴知道它的答案:)
    • @Kyle Banker,我们知道“在同一个索引中有两种类型没有问题”。问题是关于 MongoDB 如何管理它。您写道只有一个 BTree 将键的类型与键一起保存。我发现这个解决方案与每个具有字段的值类型具有不同 BTree 的解决方案相比不是最优/简单的。我的反对意见是轻率的,但在您编辑答案之前我不能撤回它。你能补充更多信息吗?
    • @SushantGupta 已定义比较顺序:docs.mongodb.com/manual/reference/bson-type-comparison-order
    猜你喜欢
    • 2014-10-25
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2017-02-23
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多