use*_*185 3 mongodb spring-data-mongodb
我正在测试如何创建数据库和收集mongo java驱动程序。
MongoClient client = new MongoClient("localhost",27017);
DB db = client.getDB("ow");
DBCollection collection = db.getCollection("documents");
collection.save(new BasicDBObject("_id",1));
collection.remove(new BasicDBObject("_id",1));
boolean result = db.collectionExists("documents");
assertTrue(result);
assertNotNull(collection);
client.close();
Run Code Online (Sandbox Code Playgroud)
我希望对DB对象使用createCollection方法,但是发现除非插入第一个文档,否则它不会创建数据库/集合。
我的问题是这种理解正确吗?以上代码是否正确是创建集合或数据库的原因。
宁愿在DB对象上使用createCollection方法,但发现除非插入第一个文档,否则它不会创建数据库/集合。
MongoDBimplicitly将第一个文档保存到集合中时创建一个集合。createCollection()仅当将选项对象作为参数传递给该方法时,该方法才显式创建一个集合。
现在这很有意义。该options参数可以在一个或多个参数来决定我们要创建如集合的特点capped,autoIndexId,size,usePowerOf2Sizes,max no. of documents。
如果我们没有指定这些选项中的任何一个,则默认行为优先,即,在第一次插入时使用默认设置懒惰地创建一个集合。
因此,如果我们想要一个要定义其特征的集合,则可以将这些特征作为传递DBObject给createCollections()方法,然后将创建我们的集合。以下是如何传递选项的示例。
BasicDBObject options = new BasicDBObject();
options.put("size", 12121212);
db.createCollection("hello", options);
Run Code Online (Sandbox Code Playgroud)
以上代码是否正确是创建集合或数据库的原因。
是。它允许mongodb将应用于default configuration您的收藏集。除非你要设置的
max,size,autoIndexId,capped,usePowerOf2Sizes为您的新集合属性,这是好的。
请参阅:http : //docs.mongodb.org/manual/reference/method/db.createCollection/
| 归档时间: |
|
| 查看次数: |
7000 次 |
| 最近记录: |