MongoDB 建立索引后插入文档?
MongoDB insert document after build index?
假设我插入了十几个这种格式的文档:
{"name":"some one", "age":32}
然后我使用 "unique" 参数在 "name" 属性 上构建索引。
当我插入一个相同格式的新文档时,我是否需要在每次插入后重建 name 上的索引,或者这是自动的?同样在新插入同名时,由于唯一参数,旧文档是否会被删除?或者插入不会发生?
使用 mongo 2.4.12 顺便说一句。
干杯
不,您不需要再次创建索引
如果你使用
db.collection.ensureIndex( { field_to_be_index: 1 }, { unique: true, dropDups: true } )
它会在创建索引时删除重复文档。
有关详细信息,请参阅重复删除的完整文档。
警告:如文档所述,
指定 { dropDups: true } 可能会从数据库中删除数据。谨慎使用。
创建唯一索引后,如果使用非唯一字段索引,您将收到 duplicate key error index: ...
错误
假设我插入了十几个这种格式的文档:
{"name":"some one", "age":32}
然后我使用 "unique" 参数在 "name" 属性 上构建索引。
当我插入一个相同格式的新文档时,我是否需要在每次插入后重建 name 上的索引,或者这是自动的?同样在新插入同名时,由于唯一参数,旧文档是否会被删除?或者插入不会发生?
使用 mongo 2.4.12 顺便说一句。
干杯
不,您不需要再次创建索引
如果你使用
db.collection.ensureIndex( { field_to_be_index: 1 }, { unique: true, dropDups: true } )
它会在创建索引时删除重复文档。
有关详细信息,请参阅重复删除的完整文档。
警告:如文档所述, 指定 { dropDups: true } 可能会从数据库中删除数据。谨慎使用。
创建唯一索引后,如果使用非唯一字段索引,您将收到 duplicate key error index: ...
错误