如何在mongoose模式上动态确保索引

时间:2014-05-15 19:18:31

标签: node.js mongodb mongoose

我的架构中有一个混合有效负载类型

的数据字段
data : {
  type : Schema.Types.Mixed
}

混合有效载荷将采用

的形式
"attributes" : {
            "type" : "Lead",
        },
"Email" : "test1400159913304@example1400159913304.com",
"Name" : "Test1400159913304",
"Id" : "00Qi000000OIFVeEAP"
    }

有效负载显然会发生变化,但我希望能够在某些键上动态设置索引。 即除属性和Id之外的所有内容

我将处理需要编制索引的键。

在保存文档时,有没有办法使用mongoose或mongo动态索引键?

1 个答案:

答案 0 :(得分:0)

不,但您可以通过扫描对象保存并执行createIndex调用来轻松编写它。

但是我会对这种方法非常谨慎,因为索引会增加mongo的开销,并且最终过度使用索引会开始削弱你的插入性能,因为对于每个插入你执行mongo需要弄清楚数据必须进入哪个“存储桶”为了正确使用创建的索引。

确定哪些列确实需要用于查询的索引并坚持使用它们。