mongodb-driver
是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。
通过一个入门的案例来了解mongodb-driver
的基本使用:
1、查询全部记录
1.1、创建工程mongoDemo,引入依赖
<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver</artifactId><version>3.6.3</version>
</dependency>
1.2、创建测试类
public class MongoDemo1 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 查询记录,获取文档集FindIterable<Document> documents = spit.find();// 循环遍历for (Document document : documents) {System.out.println("内容:" + document.getString("content"));System.out.println("用户ID:" + document.getString("userid"));System.out.println("浏览量:" + document.getInteger("visits"));}// 关闭连接client.close();}
}
2、条件查询
BasicDBObject
对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key/value
的数据结构,用起来和HashMap是基本一致的。
2.1、查询userid为1013的记录
public class MongoDemo1 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 构建查询条件,通过userid进行查询BasicDBObject bson = new BasicDBObject("userid", "1013");// 通过userid查询记录获取文档集FindIterable<Document> documents = spit.find(bson);// 循环遍历for (Document document : documents) {System.out.println("内容:" + document.getString("content"));System.out.println("用户ID:" + document.getString("userid"));System.out.println("浏览量:" + document.getInteger("visits"));}// 关闭连接client.close();}
}
2.2、查询浏览量大于1000的记录
public class MongoDemo2 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 构建查询条件,查询visits大于1000的结果BasicDBObject bson = new BasicDBObject("visits", new BasicDBObject("$gt", 1000));// 通过userid查询记录获取文档集FindIterable<Document> documents = spit.find(bson);// 循环遍历for (Document document : documents) {System.out.println("内容:" + document.getString("content"));System.out.println("用户ID:" + document.getString("userid"));System.out.println("浏览量:" + document.getInteger("visits"));}// 关闭连接client.close();}
}
3、插入数据
public class MongoDemo3 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 准备数据HashMap<String, Object> map = new HashMap<>();map.put("content", "我要吐槽");map.put("userid", "9999");map.put("visits", 123);map.put("publishtime", new Date());//Document document = new Document(map);// 插入一条数据spit.insertOne(document);// 关闭连接client.close();}
}