nodejs - 当插入太多时MongoDB崩溃

时间:2017-10-13 05:02:07

标签: node.js mongodb

仅仅是一些背景知识,如果我改用insertMany,MongoDB不会崩溃。

以下是相关代码:

var propertiesObject = { results: 5000 };

request({url: "https://randomuser.me/api", qs:propertiesObject}, function(err, r, body) {
    if(err) { console.log(err); return; }
    console.log("Get response: " + r.statusCode);

    let j = JSON.parse(r.body)

    let id = 1
    let users = j.results

    for (let user of users)
    {
        MongoClient.connect("mongodb://localhost:27017/test", function (err, db) {
            db.collection('Persons', function (err, collection) {
                collection.insert({ id, first_name: user.name.first, lastName: user.name.last })
            })
        })
        id++
    }
});

这会导致MongoDB崩溃,这需要我重新启动它。是否有任何特殊原因可以做到这一点?如果它的值较小,它不会崩溃,例如10

1 个答案:

答案 0 :(得分:2)

试试这个

MongoClient.connect("mongodb://localhost:27017/test", function (err, db) {
    for (let user of users){
       db.collection('persons').insert({
        id, first_name: user.name.first, lastName: user.name.last });

      id++;
    }
  })