我想用一些测试数据填充我的mongo。
我已经定义了猫鼬模型,如果可以使用预定义模型以实用方式创建mongo文档,我就会徘徊。
例如,模型项
var Schema = mongoose.Schema;
var Items = new Schema({
title: { type: String, required: true },
desc: { type: String}
});
答案 0 :(得分:2)
当然,在单用途节点应用程序中执行此操作。创建一个不使用express或任何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);
});
}
然后只运行该节点应用程序。
答案 1 :(得分:0)
使用不同的猫鼬模块有很多方法可以做到这一点。 去检查猫鼬伪造。