如何通过新_id
解决的_id
中的冲突将mongodb集合复制到自身中?
使用the answer here复制单个文档对于大型集合是不可行的
我想这样做是为了以一种人为的方式增加测试样本的大小,这只是为了测试可伸缩性。所以我想,不是添加新文档,我可以将集合复制到自身几次以达到目的。
答案 0 :(得分:1)
如果您想为测试目的生成合理的数据,可以使用一些命令行工具获得一个方便的配方:
mongodb-schema
推断现有集合的可能模式morelikethis
将该架构转换为模板mgeneratejs
根据架构模板生成新文档mongoimport
将新文档导入MongoDB mongoimport
是标准MongoDB命令行工具的一部分;前三个工具可以从npm
安装:
npm install -g morelikethis mongodb-schema mgeneratejs
基于对现有文档的分析生成1,000个新文档的示例用法:
mongodb-schema localhost:27017 mydb.mycollection | morelikethis | mgeneratejs -n 1000 | mongoimport -d mydb -c mycollection
如果您还没有任何测试数据(或者更喜欢描述新文档的形状),您可以始终跳过架构分析,并从mgeneratejs
和mongoimport
开始。