2015-07-21 36 views
0

好先生。 我剛開始規劃一個新項目,似乎我應該堅持關係數據庫(儘管我想玩mongo)。告訴我,如果我錯了!mongodb是否適用於此應用程序?

會有箱子模型,每個模型可以包含數百到數千個物品。

在任何時候,用戶可以將項目移動到另一個框。 例如,使用一些Railsy僞...

item = Item(5676) 
item.box // returns 24 
item.update(box:25) 
item.box // returns 25 

這聽起來像一個簡單的SQL連接表給我,但MongoDB的昂貴的數組操作操作。

或者是從一個(巨大的)數組中刪除一個對象,並將其插入另一個(巨大的)數組中,這對Mongo來說不是一個大問題?

感謝您的任何智慧。我剛剛開始使用mongo。

+0

我不太明白你的問題。你能否提供一個你將使用的SQL語法的例子,然後我們可以告訴你Mongo中的等價物? – maxymoo

+0

如果我要做一些廣泛的'加入'的東西,我寧願關係型數據庫,但這只是我個人的觀點 –

+0

我只想補充一點,它可能沒有必要將所有東西都存儲到數組中。你也不會在SQL中這樣做。 – Eiko

回答

1

如果你想使用大數組,遠離MongoDB。我從個人經歷中講述。數組有兩個大問題。如果它們開始增長,文檔會增長並且需要在磁盤上移動。這是非常非常慢的操作。此外,如果您需要掃描數組以達到10000元素,那麼速度會非常慢,因爲在此之前需要檢查9999。

+0

好的。我聽夠了。這個沒有mongo。謝謝! – dwilbank

相關問題