2013-04-08 82 views
0

我是mongodb的新手。下面的代碼片段:關於mongodb capped collection的混淆

MongoClient mongo = new MongoClient("localhost", 27017); 
DB db = mongo.getDB("testdb"); 
DBCollection collection = db.getCollection("user"); 

db.getCollection("user"),如果有一個名爲「用戶」現有的集合,它會返回這個集合。如果「用戶」不退出,getCollection("user")將創建一個新的集合。現在我想知道getCollection創建什麼類型的收藏。 getCollection是否返回封頂集合?

我看過的MongoDB手冊:

您必須創建顯式使用createCollection()方法封頂集合。

這是否意味着由getCollection創建的集合不是上限集合?

另外我想知道:

  1. 什麼是32位系統DBcollection最大默認大小?
  2. db中的最大集合數是多少?

回答

1

除了通過您描述的技術(它可以通過API或shell創建)之外,MongoDB不會創建封頂集合。

集合的最大默認大小? 32位系統上大約2GB。但是,10gen不推薦生產系統的32位版本(請參見此處)。

最大集合數稍微複雜一點,最好由documentation解釋。

+0

Thx。另外我想知道Mongodb在硬盤或內存中存儲數據的位置? – 2013-04-11 05:11:51

+0

@li' - 絕對是磁盤。 http://docs.mongodb.org/manual/core/capped-collections/ – WiredPrairie 2013-04-11 10:39:02