我是MongoDB的新手。我試圖創建一個包含10,000個數據的數據庫。數據將包含「用戶名」和「生日」。如何在MongoDB中創建龐大的隨機文檔
我想用隨機的用戶名和生日來創建10,000個數據。我們有創建這種數據庫的最快方法嗎?
非常感謝您的幫助!
我是MongoDB的新手。我試圖創建一個包含10,000個數據的數據庫。數據將包含「用戶名」和「生日」。如何在MongoDB中創建龐大的隨機文檔
我想用隨機的用戶名和生日來創建10,000個數據。我們有創建這種數據庫的最快方法嗎?
非常感謝您的幫助!
這裏有一些函數將幫助你創建一個隨機的字符串(名稱)和隨機日期自1950年直到2000年,並將其插入到mongodb中。
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function getRandomDate() {
// aprox nr of days since 1970 untill 2000: 30years * 365 days
var nr_days1 = 30*365;
// aprox nr of days since 1950 untill 1970: 20years * 365 days
var nr_days2 = -20*365;
// milliseconds in one day
var one_day=1000*60*60*24
// get a random number of days passed between 1950 and 2000
var days = getRandomInt(nr_days2, nr_days1);
return new Date(days*one_day)
}
for (var i = 1; i <= 10000; i++) {
db.test.insert(
{
name : "name"+i,
birthday: getRandomDate()
}
)
}
謝謝你的幫助。看起來這是一個體面的功能。但是,我仍然對「名稱」部分感到困惑。如果我想創建一個字符串列表,並且它的名字將由這些字符串生成,它可能比「name1,name2,name3 ....」更令人愉快。 @Sergiu Zaharie –
你可以生成贖金字符串,看看http://stackoverflow.com/questions/1349404/generate-random-string-characters-in-javascript – sergiuz
最好的方法將讀取有關在mongodb中隨機生成的文檔。 https://docs.mongodb.com/v2.6/tutorial/generate-test-data/ 你也可以使用特殊服務來生成隨機數據。 例如: https://www.mockaroo.com/
太謝謝你了。這對我很有用。 :) @Rider_BY。我們是否能夠創建一個功能來做這件事?如果我們能夠做到這一點,我們是否還需要一個一個地插入它的名字和生日? –
我創建了一個開源工具來生成隨機BSON文檔並將它們插入到Mongodb中。它支持所有的BSON types(ObjectId,ISODate,二進制數據等)
這些文檔是根據配置文件生成的,所以你可以指定你想要的字段及其類型。
它可以在這裏找到:github.com/feliixx/mgodatagen
做一個程序,它是 – Sammaye