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();
}
}