2012-10-11 2 views
3

Я хотел бы заполнить мои монго некоторыми тестовыми данными.nodejs mongo, сгенерировать данные теста

Я определил модели мангуста, и я блуждал, если можно было прагматично создавать документы манго, используя предварительно определенные модели.

Например, элементы модели

var Schema = mongoose.Schema; 

var Items = new Schema({ 
    title:  { type: String, required: true }, 
    desc:  { type: String} 
}); 

ответ

2

Конечно, сделать это в приложении узла узкоспециализированная. Создайте новое приложение, которое не использует явную или любую веб-инфраструктуру, но вместо этого просто имеет определение модели и соединение с вашей базой данных.

Вам нужен источник данных, конечно, для данных испытаний, которые вы могли бы просто использовать генератор случайных слов, как это одна: 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); 
    }); 
} 

Затем просто запустите это приложение узла.

Смежные вопросы