簡體   English   中英

關於mongodb上限集合的困惑

[英]confusion about mongodb capped collection

我是mongodb的新手。 這是一個代碼片段:

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

對於db.getCollection("user") ,如果存在一個名為“ user”的現有集合,它將返回該集合。 如果“ user”沒有退出,則getCollection("user")將創建一個新集合。 現在,我想知道getCollection創建哪種收集類型。 getCollection是否返回有上限的集合?

我已經閱讀了mongodb手冊:

您必須使用createCollection()方法顯式創建帶上限的集合。

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

我也想知道:

  1. 32位系統上的DBcollection的最大默認大小是多少?
  2. 一個數據庫中的最大集合數是多少?

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

集合的最大默認大小? 在32位系統上約為2GB。 但是,10gen不建議將32位版本用於生產系統(請參見此處)。

收集的最大數量稍微復雜一點,最好由文檔來說明

Mongodb封頂的集合有很多限制,請參閱鏈接http://docs.mongodb.org/manual/core/capped-collections/ 我建議使用TTL,而不是幫助實現相同的目標。 您可以在http://docs.mongodb.org/manual/tutorial/expire-data/中找到有關TTL的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM