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");
// 打开数据库spitdb
MongoDatabase 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");
// 打开数据库spitdb
MongoDatabase 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");
// 打开数据库spitdb
MongoDatabase 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");
// 打开数据库spitdb
MongoDatabase 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();
}
}