繁体   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