Mongo索引更新/插入字段

时间:2013-03-25 23:06:44

标签: mongodb

我正在尝试为集合中的所有文档插入新字段。 我在“user_id”字段上有一个升序索引。

a)为了从索引中受益,是否应该通过索引包含/包含更新/插入的字段? b)另外,在这种情况下,哈希索引的性能更高,因为我不做任何范围操作。

db.collA.update(  { user_id: 123 }
                , { $set : { newfield : "something" } }
                , { multi:true} ) 

1 个答案:

答案 0 :(得分:0)

回答你问题的A部分: 否。插入或更新现有文档的索引属性实际上可能会导致索引出现性能问题。如果您要在大批量中执行此操作,则应该在操作后重新编制索引或进行修复。

B部分: 不可以。标准索引类型涵盖了这个用例。如果“user_id”真正识别文档,您可以考虑将其作为文档的“_id”,但这是一个有点高级的设计决策,并且对集合有影响(正面和负面)。