gpt4 book ai didi

MongoDB Java 驱动程序创建数据库和集合

转载 作者:可可西里 更新时间:2023-11-01 09:27:08 25 4
gpt4 key购买 nike

我正在测试如何创建数据库和收集 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();

我更愿意在 DB 对象上使用 createCollection 方法,但发现它不会创建数据库/集合,除非插入第一个文档。

我的问题是这种理解是否正确?以上代码是否正确是创建集合或数据库。

最佳答案

prefer to use createCollection method on the DB object, but found that it does not create database / collection unless the first document is inserted.

MongoDB 在将第一个文档保存到集合中时隐式 创建一个集合。 createCollection() 方法仅显式创建一个集合,并且仅如果一个选项对象作为参数传递给它。

现在这是有道理的。 options 参数可以接受一个或多个参数来决定我们要创建的集合的特征,例如 capped,autoIndexId,大小usePowerOf2Sizes最大数量。文件数量

如果我们不指定这些选项中的任何一个,默认行为将优先,即在第一次插入时使用默认设置延迟创建一个集合。

因此,如果我们想要一个集合,其特征将被定义,那么我们可以将这些特征作为 DBObject 传递给 createCollections() 方法,我们的集合将被创建。以下是如何传递选项的示例。

BasicDBObject options =  new BasicDBObject();
options.put("size", 12121212);
db.createCollection("hello", options);

Is above code correct was of creating collection or database.

是的。它允许 mongodb 为您的集合应用默认配置。除非你想设置max,size,autoIndexId,capped,usePowerOf2Sizes 新集合的属性,这很好。

引用:http://docs.mongodb.org/manual/reference/method/db.createCollection/

关于MongoDB Java 驱动程序创建数据库和集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com