0
我需要在MongoDB(2.6.7)中創建三維數組,以存儲至少x-y-z座標和值。什麼是最有效的方法:應該是什麼結構以及如何快速創建它?
我試圖用下一個腳本,但它的工作長:
在MongoDB中創建多維數據集1000^3的最快方法是什麼?
function insertMatrix3(dbName, colName, numX, numY, numZ) {
var col = db.getSiblingDB(dbName).getCollection(colName);
var array = [];
for (x = 0; x < numX; x++) {
for (y = 0; y < numY; y++) {
for (z = 0; z < numZ; z++) {
array.push(
{
x : x,
y : y,
z : z,
val : 0
}
);
}
}
if (x % 5 == 0) {
col.insert(array);
array = [];
}
}
}
你的腳本到底有多長時間工作?什麼是你最好的時間? – 1Darco1 2015-02-10 09:04:18
其實我沒有等到完成,因爲它花了大約20個小時,我剛剛停止它(在它之前,我檢查了已經創建的數據庫的大小 - 它是153 GB)。我會花不到1小時的時間,但寫入操作(創建數據庫)的優先級低,讀取很重要。我的機器有i5-4670,16GB RAM和普通硬盤。 – alr 2015-02-10 09:08:34
你爲什麼這樣做?瞭解創建這個巨型格子的背景將有助於我們推薦最佳選擇。 – wdberkeley 2015-02-10 17:26:41