Java MongoDB存储随机数据
我被困在如何处理这个问题上 我有一个非常大的数据集,有大约百万条记录。每行包含一个人、他的/她的ID和他的/她的地址。但是一个人可能有多个地址,而且数据根本没有组织Java MongoDB存储随机数据,java,database,spring,mongodb,dataset,Java,Database,Spring,Mongodb,Dataset,我被困在如何处理这个问题上 我有一个非常大的数据集,有大约百万条记录。每行包含一个人、他的/她的ID和他的/她的地址。但是一个人可能有多个地址,而且数据根本没有组织 从.csv文件读取数据时,我被迫在创建Person对象实例时对数据进行分块,因为数据集太大了。同时,我希望创建一个模式,使一个人记录包含ID和地址列表(我希望聚合与一个人对应的地址,并从中创建一个person对象)。最简单的方法是什么?我应该创建某种中间模式并尝试将其组合起来吗 我的方法如下: 导入集合中的所有csv块,比如说“t
从.csv文件读取数据时,我被迫在创建Person对象实例时对数据进行分块,因为数据集太大了。同时,我希望创建一个模式,使一个人记录包含ID和地址列表(我希望聚合与一个人对应的地址,并从中创建一个person对象)。最简单的方法是什么?我应该创建某种中间模式并尝试将其组合起来吗 我的方法如下:
- 导入集合中的所有csv块,比如说“temp”(是的,它将是临时的)
{_id : 001,
addresses : [
{street : "56 avenue des Champs Elysee",
street2 :"",
zip : "75000",
city:"Paris",
country:"France"},
{street : "23 rue de la plage",
street2 :"Residence du soleil",
zip : "06000",
city:"Nice",
country:"France"}
]
}
}
如果集合非常大,请在临时集合中的id字段上创建索引,这将提高聚合的性能
db["temp"].aggregate([
{$group:{
_id:"$id",
addresses : {$addToSet : "$address"}
}
},
{$out : "persons"}
])
{_id : 001,
addresses : [
{street : "56 avenue des Champs Elysee",
street2 :"",
zip : "75000",
city:"Paris",
country:"France"},
{street : "23 rue de la plage",
street2 :"Residence du soleil",
zip : "06000",
city:"Nice",
country:"France"}
]
}
}