MongoDB for Java详解数据库
下载地址:mongodb 也可以使用Maven管理,Maven 代码片段如下:
dependencies dependency groupId org.mongodb /groupId artifactId bson /artifactId version 3.0.1 /version /dependency dependency groupId org.mongodb /groupId artifactId mongodb-driver /artifactId version 3.0.1 /version /dependency dependency groupId junit /groupId artifactId junit /artifactId version 4.12 /version /dependency /dependencies2、建立Java Project工程,导入驱动包,目录结构如下 二、Java操作 MongoDB 1、建立连接
连接数据库,需要指定数据库名,如果数据库不存在,MongoDB会自动创建它。
使用 MongoClient 来连接 MongoDB,代码片段如下:
// connect to mongodb server MongoClient mongoClient = new MongoClient("localhost", 27017); // connect database MongoDatabase mongoDatabase = mongoClient.getDatabase("mydb");2、创建集合
要创建集合,使用 com.mongodb.client.MongoDatabase 类的 createCollection() 方法。
mongoDatabase.createCollection("person");3、获取一个集合列表
要获取数据库中的所有集合,使用 com.mongodb.client.MongoDatabase 类的 listCollectionNames() 方法。
MongoIterable String result = mongoDatabase.listCollectionNames(); Iterator ite = result.iterator(); while (ite.hasNext()) { System.out.println("集合名字:" + ite.next()); }4、获取/选择一个集合
要从数据库中获得/选择一个集合,使用 com.mongodb.client.MongoDatabase 类的 getCollection() 方法。
代码片段获取/选择一个集合
MongoCollection Document collection = mongoDatabase.getCollection("person");5、插入文档
为了将文档插入MongoDB中,使用 com.mongodb.client.MongoCollection 类的 insertOne() 方法。
代码片段插入一个文件
MongoCollection Document collection = mongoDatabase.getCollection("person"); Document document = new Document("title", "MongoDB") .append("description", "database") .append("by","itmyhome"); collection.insertOne(document);6、检索所有文件
要检索一个集合中的所有文件,使用 com.mongodb.client.MongoCollection 类的 find() 方法。
MongoCollection Document collection = mongoDatabase.getCollection("person"); FindIterable Document document = collection.find(); Iterator ite = document.iterator(); while (ite.hasNext()) { System.out.println(ite.next()); }7、更新文件
从集合中更新文件,使用 com.mongodb.client.MongoCollection 类的 updateMany() 和 updateOne() 方法。
下面代码片段是将name为zhangsan的mobile信息修改为11011
MongoCollection Document collection = mongoDatabase.getCollection("person"); collection.updateOne(Filters.eq("name", "zhangsan"), new Document("$set", new Document("mobile", "11011")));8、删除文件
从集合中删除文件,使用 com.mongodb.client.MongoCollection 类的 deleteMany() 和 deleteOne() 方法。
下面代码片段是删除title为MongoDB的所有文件
MongoCollection Document collection = mongoDatabase.getCollection("person"); collection.deleteMany(Filters.all("title", "MongoDB"));
import java.util.Iterator; import org.bson.Document; import org.junit.Test; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoIterable; import com.mongodb.client.model.Filters; * http://itmyhome.com * 作者: itmyhome public class CopyOfDBUtil {
mongoClient = new MongoClient("localhost", 27017); mongoDatabase = mongoClient.getDatabase("mydb"); System.out.println("Connect to database successfully: " + mongoDatabase); /** * 创建集合 @Test public void createCollection(String collectionName) { mongoDatabase.createCollection(collectionName); System.out.println("集合: " + collectionName + " 创建成功"); /** * 获取所有集合 @Test public void getCollection() { MongoIterable String result = mongoDatabase.listCollectionNames(); Iterator ite = result.iterator(); while (ite.hasNext()) { System.out.println("集合名字:" + ite.next()); /** * 删除集合 @Test public void dropCollection(String collectionName) { mongoDatabase.getCollection(collectionName).drop(); System.out.println("集合:" + collectionName + " 删除成功"); /** * 插入文档 @Test public void insert() { // 获取所插入集合 MongoCollection Document collection = mongoDatabase.getCollection("person"); Document document = new Document("title", "MongoDB") .append("description", "database") .append("by","itmyhome"); collection.insertOne(document); /** * 检索所有文件 @Test public void queryAll() { MongoCollection Document collection = mongoDatabase.getCollection("person"); FindIterable Document document = collection.find(); Iterator ite = document.iterator(); while (ite.hasNext()) { System.out.println(ite.next()); /** * 更新文件 @Test public void update(){ MongoCollection Document collection = mongoDatabase.getCollection("person"); collection.updateOne(Filters.eq("name", "zhangsan"), new Document("$set", new Document("mobile", "11011"))); /** * 删除文档 @Test public void deleteAllDocument() { MongoCollection Document collection = mongoDatabase.getCollection("person"); collection.deleteMany(Filters.all("title", "MongoDB")); System.out.println("删除成功"); /** * 条件查询 @Test public void find() { MongoCollection Document collection = mongoDatabase.getCollection("person"); //查询likes为100的数据 FindIterable Document document = collection.find(Filters.lt("likes",100)); Iterator ite = document.iterator(); while (ite.hasNext()) { System.out.println(ite.next()); }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4196.html
MongoDB相关文章
- java axis_Java 使用Axis实现WebService实例
- db4o java,db4o Java版性能测试评估
- java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」
- Java接口是什么意思_JAVA接口
- java h2 数据库_Java H2数据库
- Java连接Mysql:探索数据库之路。(java链接mysql)
- eeOracle放弃Java EE:梦想的终结(oracle放弃java)
- MongoDB在数据库管理中的运用(mongodb的应用)
- MongoDB高效实现嵌套查询的技术(mongodb嵌套查询)
- MongoDB: 架设稳健数据库的保障(mongodb稳定性)
- 数据库Java连接MySQL数据库实现数据添加(java添加mysql)
- 如何搭建在阿里云上的MongoDB数据库(mongodb阿里云)
- Java编程操作Oracle数据库(java操作oracle)
- 『MongoDB:开源化的NoSQL数据库』(mongodb开源)
- Java高效操作MySQL数据库(java写入mysql)
- 数据库Java查询Oracle数据库:一种快捷、可靠的解决方案(java查询oracle)
- MongoDB调用:实现数据库的强大功能(mongodb调用)
- 安全使用MongoDB实现线程安全(mongodb线程)
- 使用 MongoDB:优雅地管理表名(mongodb表名)
- MongoDB: 如何使用命令创建数据库和集合(mongodb创建命令)
- 如何停止MongoDB数据库服务?(mongodb停止)
- Java驾驭MySQL,读写如飞(java读写mysql)
- MongoDB数据库优化技巧与方法(mongodb调优)
- 使用Java类连接MSSQL数据库(mssql连接java类)
- MongoDB解决方案:打造先进的企业数据库(mongodb方案)
- Oracle收购了Java一个伟大的转折点(java被oracle吗)