循环内进行多次mongoose操作,进程卡死,数据库只有几十条数据
代码如下: var mongoose = require(‘mongoose’);
mongoose.connect(‘mongodb://localhost/ppl’);
var db = mongoose.connection; db.on(‘error’, console.error.bind(console, ‘connection error:’)); db.once(‘open’, function(callback) { // yay! var Schema = mongoose.Schema, ObjectId = Schema.ObjectId;
var NameSchema = new Schema({
name: String
});
var Name = mongoose.model('Name', NameSchema);
for (var i = 0; i < 1000; i++) {
new Name({
name: "hello,world"
}).save(function(err, name) {
console.log(name)
})
};
});
3 回复
连接池爆了,代码没有释放连接的。插入完成要释放。而且这样写也不行,不能直接for。用async.queue吧
我测试了你的代码,没有爆啊?
@crystaldust 你把1000改成1000000再试试