我想为MongoDB生成测试数据。大小应为200 Mb。我试过这段代码:
$("#showPrivacy").on('click',function(){
$("#displayPrivacy").toggle();
});
// check for select clicks since first click open the select,
// the second will be for the option...
var privacy_count_click = 0;
$('#privacy').on('click', function() {
// if click is greater then 0 this
// means user clicked on one of the 2 options
// so, let's hide the div and reset the counter
if(privacy_count_click > 0){
$("#displayPrivacy").hide();
privacy_count_click = 0;
} else {
privacy_count_click++;
}
});
如何使用此尺寸精确生成数据?
答案 0 :(得分:4)
我没有通过设置200 Mb大小来实现您想要实现的目标。
您可以添加逻辑检查。
db.testCollection.stats()
- 您可以在每次插入前检查集合的大小。
Object.bsonsize(..)
- 您也可以在插入之前检查文档大小,使其正好为200 MB。
此外,您还可以设置上限集合,您可以在其中通知文档数量或集合大小。
希望这有帮助。
答案 1 :(得分:2)
我可能会做的是创建一个大小为200MB(209715200字节)的上限集合:
db.createCollection( "ssv", { capped: true, size: 209715200 } )
然后按原样插入记录。然后在for
循环内间隔一段时间,检查集合是否已满(或几乎已满)。
所以在你的代码中,也许(完全伪代码):
if(i % 10 == 0) {
if(db.ssv.stats().size >= 209715100){ //Or an arbitrary value closer to 200MB
break;
}
}
答案 2 :(得分:2)
为什么要将相同的数据复制100次才能生成200mb的测试数据?相反
1.对值进行计数,以便您可以按顺序生成数据
OR
- 使用随机函数生成随机数据
醇>
yyyy-mm-ddThh-mm-ssZ
10个8字节的两个字节的字符串和10个8字节的数字=> 240B
240B * 873813 = 200MB
答案 3 :(得分:1)
基于Robert Udah和Somnath Muluk建议的quick dirty solution:
答案 4 :(得分:1)
创建一个类型为nvarchar
的字段,然后在您的示例桌面中生成一个包含200MB数据的.txt文件。然后将此字符串放入该字段。是的。