MongoDB插入百万数据
1、装好数据库
查看库:show dbs;
创建数据库:
在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
新库需要插入一条内容,否则不保存:db.test.insert({"name":"马冬梅"})
MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中
删除创建的数据库,首先使用use切换到要删除的数据库,执行删除命令:
> use test
switched to db test
> db.dropdatabase();
{ "dropped" : "test", "ok" : 1 }
集合删除语法格式:db.collection.drop()
> use test
switched to db test
> db.createCollection("test") # 先创建集合,类似数据库中的表
> show tables # show collections 命令会更加准确点
test
> db.test.drop()
true
> show tables
>
2、准备好插入的集合数据,这里使用JavaStript准备数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let str = '';
for (let i = 1; i <= 99999; i++) {
str += JSON.stringify({
name: 'mongodb' + i,
age: i
});
}
document.body.innerHTML = str;
</Script>
</body>
</html>
使用浏览器打开上面HTML文件,复制内容生成JSON文件
3、直接使用命令插入集合
/路径/mogodb/bin/mongoimport --db test --collection test --file /tmp/DC.json
上述命令中,首先找到mongoimport导入集合数据文件路径,--db 后跟所选数据库,--collection 后跟要插入到哪个集合中,--file 后跟已生成需要导入集合的数据文件,可在集合后跟--drop 参数,代表插入前清库
4、或使用定时任务脚本按时间插入集合
#!/bin/bash
n=0
while (($n < 30)); do
/路径/mogodb/bin/mongoimport --db test --collection test --file /tmp/DC.json
n=$((n + 1))
sleep 40
done
exit 0