文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
批量插入数据
批量数据插入是以数组的方式进行的。
db.test.insert([
{"name": "lisi"},
{"name": "wangwu"}
])
在老版本 MongoDB(3.2 以前的版本基本都需要)是需要在 Insert 前加一个 batch 单词的,如下代码:
db.test.batchInsert([
{"name": "lisi"},
{"name": "wangwu"}
])
循环插入
新建 js 文件 demo2.js
,具体内容如下:
/**
* 循环插入多条数据
*/
const startTime = (new Date()).getTime(); // 获取开始时间
var db = connect('user'); // 连接数据库
// 循环插入数据
for(let i = 0; i < 1000; i++) {
db.test.insert({x: i});
}
const runTime = (new Date()).getTime() - startTime; // 计算时间差
print('demo run: ' + runTime + 'ms');
➜ mongo demo2.js
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
connecting to: mongodb://127.0.0.1:27017/user
MongoDB server version: 3.6.3
demo run:288ms
循环插入需要 200 多毫秒。
批量插入
新建 js 文件 demo3.js
,具体内容如下:
/**
* 批量插入数据
*/
const startTime = (new Date()).getTime(); // 获取开始时间
var db = connect('user'); // 连接数据库
// 批量插入数据
const temArr = [];
for(let i = 0; i < 1000; i++) {
temArr.push({x: i});
}
db.test.insert(temArr); // 批量一次性插入
const runTime = (new Date()).getTime() - startTime; // 计算时间差
print('demo run: ' + runTime + 'ms');
➜ mongo demo3.js
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
connecting to: mongodb://127.0.0.1:27017/user
MongoDB server version: 3.6.3
demo run: 12ms
批量插入仅仅需要十几毫秒。
需要注意:一次插入不要超过 48M,像 .zip
和大图片等资源尽量采用静态存储,MongoDB 存储静态路径就好。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论