如果更改索引中使用的字段,mongodb是否会重新索引?
假设您有一个名为“primary_key”的集合, {“主键”:“1234”,“姓名”:“吉米”,“姓氏”:“第页”} 我有一个关于“主键”的索引如果更改索引中使用的字段,mongodb是否会重新索引?,mongodb,indexing,reindex,Mongodb,Indexing,Reindex,假设您有一个名为“primary_key”的集合, {“主键”:“1234”,“姓名”:“吉米”,“姓氏”:“第页”} 我有一个关于“主键”的索引 这个集合有数百万行,我想看看更改其中一个记录的主键有多昂贵。它是否会触发整个表的重新索引?还是只是对更改后的记录重新编制索引?在这两种情况下,这样做是不是很昂贵 更新mongodb中的索引字段会导致使用它的索引(如果有多个索引,则会更新多个索引)的更新。它不“重新索引”。不应该那么昂贵-实际上,您将删除旧条目并插入新条目 本文档对mongodb索引有
这个集合有数百万行,我想看看更改其中一个记录的主键有多昂贵。它是否会触发整个表的重新索引?还是只是对更改后的记录重新编制索引?在这两种情况下,这样做是不是很昂贵 更新mongodb中的索引字段会导致使用它的索引(如果有多个索引,则会更新多个索引)的更新。它不“重新索引”。不应该那么昂贵-实际上,您将删除旧条目并插入新条目 本文档对mongodb索引有相当多的详细信息: 顺便说一句,记住有一个特殊的字段,_id,mongodb使用它作为主键 _身份证 每个MongoDB文档中都需要一个字段。_id字段必须具有唯一的值。您可以将_id字段视为文档的 主键。如果创建的新文档没有_id字段, MongoDB自动创建字段并分配唯一的BSON 目标
您无法更新_id字段。谢谢您的回答。链接也很好,我知道整个文档都与索引相关,但如果您能指出哪个部分与该问题更相关,那就太好了。我是这个答案的后来者,上述链接现在从2020年起已断开,相关文档的链接可以通过: