第一时间捕获有价值的信号
本文总结 MongoDB 唯一索引的创建方法,包括单键和复合键索引,并提供处理现有非唯一数据的实用技巧,助你避免常见问题,确保数据完整性。
核心内容
MongoDB 使用过程的一些经验的总结
MongoDB 唯一索引
直接创建
- 单个键(列)上的唯一索引:
db.persons.createIndex({name:1},{unique:true}) - 基于复合键(列)的唯一索引:
db.persons.createIndex({name:1,email:1},{unique:true})
先备份再创建
- 开发环境常见情况是为已经存在非唯一的列添加索引,在其上面直接创建唯一索引将失败,所以需要先备份,再创建。
- 将数据导出为JSON格式存档:
mongoexport -d database_name -c collection_name -o filename.json - 清空当前集合的数据:
db.collection_name.remove({}) - 新建唯一索引:
db.collection_name.createIndex({name:1}, {unique:true}) - 导入之前存档的JSON文件数据:
mongoimport -d database_name -c collection_name --upsert filename.json
- 将数据导出为JSON格式存档:
- 用到的几个参数选项说明:`-d 数据库名 -c 集合名 -o 导出后的目录及文件名 —upsert 会根据唯一索引去掉重复记录。