2016-11-03 3 views
1

MongoDB에 초보자입니다. 10,000 개의 데이터가 포함될 데이터베이스를 만들려고합니다. 데이터에는 "username"과 "Birthday"가 포함됩니다.MongoDB에서 거대한 무작위 문서 작성 방법

임의의 사용자 이름과 생일로 10,000 개의 데이터를 만들고 싶습니다. 이런 종류의 데이터베이스를 만드는 가장 빠른 방법이 있습니까?

도움을 주셔서 감사합니다.

+0

이 – Sammaye

답변

0

는 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() 
    } 
) 
} 
+0

도와 주셔서 감사합니다. 이것은 잘 작동하는 것으로 보입니다. 그러나 나는 여전히 "이름"부분에 혼란 스럽다. 문자열의리스트를 만들고 그 문자열에 의해 생성 된 이름을 만들려면 "name1, name2, name3 ...."보다 더 즐겁습니다. @Sergiu Zaharie –

+0

몸값 문자열을 생성 할 수 있습니다. http://stackoverflow.com/questions/1349404/generate-random-string-characters-in-javascript – sergiuz

0

가장 좋은 방법은 mongodb에서 임의 생성에 대한 문서를 읽습니다. https://docs.mongodb.com/v2.6/tutorial/generate-test-data/ 또한 임의의 데이터를 생성하는 데 특별한 서비스를 사용할 수 있습니다. 예를 들어 : 여기 https://www.mockaroo.com/

+0

너무 감사를 수행하는 프로그램을 확인합니다. 그것은 나에게 유용하다. :) @ 라이더 _BY. 우리는이 물건을 할 수있는 함수를 만들 수 있습니까?. 우리가 할 수 있다면 이름과 생일을 위해 하나씩 삽입해야합니까? –

0

무작위 BSON 문서를 생성하고 Mongodb에 삽입하는 오픈 소스 도구를 만들었습니다. BSON types (ObjectId, ISODate, 이진 데이터 등)
문서는 구성 파일에 따라 생성되므로 원하는 필드와 유형을 지정할 수 있습니다.

이 여기에 있습니다 : github.com/feliixx/mgodatagen