1. 程式人生 > >Java操作MongoDB常用API文件

Java操作MongoDB常用API文件

1、查詢指定欄位
collection.find().projection(fields(include("username","pwd"),excludeId()));//返回username與pwd欄位且不返回_id欄位

Document doc = new Document().append("_id", 0).append("username",1).append("pwd",1);//指定查詢欄位,0為不包含此欄位,1為包含此欄位
FindIterable<Document> findIterable = collection.find().projection(doc);

兩種方法查詢結果相同,區別是第一種方法使用了include等函式,需要包含標頭檔案 import static com.mongodb.client.model.Projections.*;
第二種方法使用Document代替了include等函式,無需包含此標頭檔案。


2、按條件查詢

Document myDoc = collection.find(and(eq("username","liuchao"),eq("pwd","12345"))).first();
//此方法需包含標頭檔案import static com.mongodb.client.model.Filters.*;

Document myDoc = collection.find(new Document("username", "liuchao").append("pwd", "12345")).first();
//無需包含上面的標頭檔案


3、對查詢結果排序
FindIterable<Document> iterable = collection.find().sort(ascending("title"));//按title升序排列
FindIterable<Document> iterable = collection.find().sort(ascending("title","words"));//按title和words升序排列
FindIterable<Document> iterable = collection.find().sort(descending("title"));//按title降序排列

FindIterable<Document> iterable = collection.find().sort(new Document("time",-1));//按time降序排列


4、獲取滿足條件的前n條資料

MongoCursor<Document> cursor = collection.find(new Document("username","liuchao")).sort(new Document("time",-1)).limit(n).iterator();
//對滿足條件username=“liuchao”的結果進行降序排列,並獲取前n條資料。(n=0獲取全部)