如果建立唯一索引的时候,有数据重复,则会报错,所以可以通过以下方法间接解决:
1.将数据导出json格式
./mongoexport -d liuniu -c tWechatMessage -o tWechatMessage.json
-d 数据库名
-c 集合名
-o 导出后的名字(也可以加上路径 )
db.tWechatMessage.remove({})
3.新建唯一索引
db.tWechatMessage.ensureIndex({"msg.MsgId":1},{unique:true});
4.导入刚才导出的数据
./mongoimport -d liuniu -c tWechatMessage --upsert /usr/dataserver/mongodb/bin/tWechatMessage.json
upsert会根据唯一索引去重复