2013-09-05 47 views
0

我想用一個用戶帳號填充一個集合,裏面充滿了虛擬數據。現在我不希望調用1密爾插入將是聰明的,所以我需要如何做到數據庫端。如何在沒有一百萬張插頁的情況下填充數百萬個虛擬文檔?

我有點想起了什麼有關數據庫做的JavaScript,或許這將是這樣,但更具體?

+0

您可以將它們分成16meg批次並使用批量插入,我認爲在node.js中,您可以將多個文檔發送到insert() – Sammaye

+0

您是指使用文檔,一個1 mil大小的數組構建一個數組,並執行一個插入?我很害怕,但很好奇。我將在下班後嘗試:D我認爲文檔大小最大爲16 meg,而不是批量插入,對不對? – Discipol

+1

到數據庫的所有通信是BSON文檔的形式,你送下來〔實施例查詢文件是一個BSON文件,即進入batchInsert是代表BSON文件 – Sammaye

回答

1

雖然你可以只寫代碼,使用您喜歡的編程語言(如許多司機的報價技術通過陣列結構插入批量文檔)插入文件,我建議你考慮建立或者是JSON文件或包含文檔結構的CSV文件(如果導入需要,可能需要多個文件),然後使用mongoimport導入所有數據。

http://docs.mongodb.org/manual/reference/program/mongoimport/

這種方式,你可以創建文件(S)一次,而無需安裝額外的軟件/平臺/節點/等直接從數據庫服務器運行導入。

如果你想使用Node.JS,你可以使用insertdocumentation),只需傳入一個文件數組。我建議批量大小遠遠低於一百萬,而且由於反正會寫很多,所以一次只做一個批次(不要依賴JavaScript的異步行爲來獲得很多連接)。

+0

再次感謝WiredPrairie。如果只有我可以爲你消費的話,你也是如此:薩姆麥耶。 – Discipol