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: ... 错误

More info about unique index