MongoDB 日常踩坑

MongoDB 使用过程的一些经验的总结

我的新书《LangChain编程从入门到实践》 已经开售!推荐正在学习AI应用开发的朋友购买阅读!
LangChain编程从入门到实践

MongoDB 唯一索引

直接创建

  • 单个键(列)上的唯一索引: db.persons.createIndex({name:1},{unique:true})
  • 基于复合键(列)的唯一索引: db.persons.createIndex({name:1,email:1},{unique:true})

    先备份再创建

  • 开发环境常见情况是为已经存在非唯一的列添加索引,在其上面直接创建唯一索引将失败,所以需要先备份,再创建。
    1. 将数据导出为JSON格式存档:mongoexport -d database_name -c collection_name -o filename.json
    2. 清空当前集合的数据:db.collection_name.remove({})
    3. 新建唯一索引:db.collection_name.createIndex({name:1}, {unique:true})
    4. 导入之前存档的JSON文件数据:mongoimport -d database_name -c collection_name --upsert filename.json
  • 用到的几个参数选项说明:`-d 数据库名 -c 集合名 -o 导出后的目录及文件名 –upsert 会根据唯一索引去掉重复记录。
作者

莫尔索

发布于

2019-12-15

更新于

2024-05-19

许可协议

评论