我是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
创建的集合不是上限集合?
我也想知道:
答案 0 :(得分:1)
除非通过您描述的技术(可以通过API或shell创建),否则MongoDB不会创建上限集合。
集合的最大默认大小? 32位系统上大约2GB。但是,10gen不推荐生产系统的32位构建(见这里)。
最大集合数稍微复杂一些,最好由documentation解释。
答案 1 :(得分:0)
Mongodb上限集合有很多限制,请参阅链接http://docs.mongodb.org/manual/core/capped-collections/。我会推荐TTL而不是有助于达到同样的目标。您可以在http://docs.mongodb.org/manual/tutorial/expire-data/找到有关TTL的更多信息。