0

我是 mongodb 的新手。这是一个代码片段:

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

对于db.getCollection("user"),如果存在名为“user”的现有集合,它将返回此集合。如果“用户”没有退出,getCollection("user")将创建一个新集合。现在我想知道创建了什么类型的集合getCollection。是否getCollection返回上限集合?

我已阅读 mongodb 手册:

createCollection()您必须使用该方法显式创建上限集合。

这是否意味着由创建的集合getCollection不是上限集合?

我也想知道:

  1. 32 位系统上 DBcollection 的最大默认大小是多少?
  2. 数据库中的最大集合数是多少?
4

2 回答 2

1

MongoDB 不会创建上限集合,除非通过您描述的技术(它可以通过 API 或外壳创建)。

集合的最大默认大小?在 32 位系统上大约 2GB。但是,10gen 不建议将 32 位构建用于生产系统(请参阅此处)。

集合的最大数量有点复杂,最好由文档解释。

于 2013-04-09T01:20:28.407 回答
0

Mongodb capped collection 有很多限制,请参阅链接http://docs.mongodb.org/manual/core/capped-collections/。我会推荐 TTL 而不是它有助于实现相同的目标。你可以在这里找到更多关于 TTL 的信息http://docs.mongodb.org/manual/tutorial/expire-data/

于 2013-04-09T01:54:42.107 回答