我想用我的一些测试数据填充我的mongo。nodejs mongo,生成测试数据
我已经定义了猫鼬模型,并且如果可以使用预先定义的模型实用地创建mongo文档,我就会徘徊。
例如,模型项目
var Schema = mongoose.Schema;
var Items = new Schema({
title: { type: String, required: true },
desc: { type: String}
});
我想用我的一些测试数据填充我的mongo。nodejs mongo,生成测试数据
我已经定义了猫鼬模型,并且如果可以使用预先定义的模型实用地创建mongo文档,我就会徘徊。
例如,模型项目
var Schema = mongoose.Schema;
var Items = new Schema({
title: { type: String, required: true },
desc: { type: String}
});
当然,做一个单一目的节点的应用程序。创建一个不使用快速或任何Web框架的新应用程序,而只需创建模型定义并连接到数据库。
你当然需要测试数据,你可以只使用一个随机单词生成一个数据源,像这样的:http://james.padolsey.com/javascript/random-word-generator/
function createRandomWord(length) {
var consonants = 'bcdfghjklmnpqrstvwxyz',
vowels = 'aeiou',
rand = function(limit) {
return Math.floor(Math.random()*limit);
},
i, word='', length = parseInt(length,10),
consonants = consonants.split(''),
vowels = vowels.split('');
for (i=0;i<length/2;i++) {
var randConsonant = consonants[rand(consonants.length)],
randVowel = vowels[rand(vowels.length)];
word += (i===0) ? randConsonant.toUpperCase() : randConsonant;
word += i*2<length-1 ? randVowel : '';
}
return word;
}
然后,你需要填充如数据库这个:
var numTestDocs = 100; // or however many you want
for(var i = 0; i < numTestDocs; i++) {
var someLength = 12; // Alternatively, you could use a random number generator
var randomWord = createRandomWord(someLength);
var item = new Item ({
title : randomWord ,
desc : randomWord + ' is just a test'
});
item.save(function(err, doc) {
// do error handling if you want to
console.log('Test Record Saved with id: ' + doc._id);
});
}
然后只运行该节点的应用程序。
有很多方法可以使用不同的猫鼬模块来做到这一点。 去检查猫鼬的面包店。