这里的示例代码都是简要代码,详细代码可以参考我打包好的代码,地址:百度云 mongo-demo.rar
数据库
- 创建数据库
MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase("mydb");
使用 getDatabase( )
方法会创建没有的数据库,而存在则直接连接,这和前面讲的数据库层面的 use mydb
是一样的概念。
- 列表所有数据库
MongoClient client = new MongoClient();
MongoIterable<String> list = client.listDatabaseNames();
for (String string : list) {
System.out.println(string);
}
另外还有一个已经不建议使用的方法:
List<String> databaseNames = client.getDatabaseNames();
- 删除数据库
client.dropDatabase("mydb");
client.getDatabase("mydb").drop();
(其他方法可以自己看看源码,运行试试看,这里就不多说了)
集合
- 创建集合
MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase("mydb");
database.createCollection("test");
这是创建默认设置的集合,还可以按自己的需要创建集合:
database.createCollection(collectionName, createCollectionOptions)
其中 CreateCollectionOptions
是一个 MongoDB 的内置对象。包含下列属性:
- boolean autoIndex = true : 自动索引
- long maxDocuments : 集合中允许的最大数量的文件上限
- boolean capped : 设置集合是否为上限
- long sizeInBytes : 集合上限的最大大小
- Boolean usePowerOf2Sizes :usePowerOf2Sizes 分配策略
Bson storageEngineOptions : 设置此索引的存储引擎选项文档
列表所有集合
MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase("mydb");
MongoIterable<String> list = database.listCollectionNames();
for (String string : list) {
System.out.println(string);
}
- 删除集合
MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("test");
collection.drop();
- 集合重命名
MongoNamespace namespace = collection.getNamespace();
MongoNamespace newNamespace = new MongoNamespace(namespace.getDatabaseName(),"test");
collection.renameCollection(newNamespace );