(1)命令
(先创建一个新表,添加好需要去重的字段并且值设置成唯一的,再重新导入数据,利用mogondb数据库的非关系型即可解决了)
/*服务器后台执行 1)先备份数据;A_BAS_TEST 为例;批量脚本*/
mongoexport --db mapEditor -u admin -p safety123 --collection A_BAS_TEST --out /map/data/A_BAS_TEST.json
/*前台执行 2)清除已有数据,创建关键字的索引;批量脚本*/
db.A_BAS_TEST.remove({});
db.getCollection("A_BAS_TEST").createIndex({ "tag.ADDRESS": 1, "tag.HEALTHORGNAME": 1 }, { "unique": true });
/*服务器后台执行 3)重新导入数据,关键字去重;批量脚本*/
mongoimport --db mapEditor -u admin -p safety123 --collection A_BAS_TEST /map/data/A_BAS_TEST.json
(2)脚本
Mogon脚本
db.collection.aggregate([
{$group: { _id:{name:"$tag.SHELTERNAME",address:"$tag.ADDRESS"}, total : { $sum : 1},dups: {$addToSet: '$_id'}}}, //分组
{$match: { total:{"$gt":1}}}, //筛选
//需要显示的字段
{$project: {
_id :1,
totol:{$districe:["$total",1]}
type:"type"
}},
{$group: { _id:{type:"$type"}, num : { $sum : "$total"}}}
],{ allowDiskUse: true })
//{ allowDiskUse: true } 开通磁盘(解决管道限制问题)
(3)使用java脚本链接mogon数据库进行解决