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