Java使用MongoDB

1.初始化MongoTemplate

// 設置IP和端口
ServerAddress serverAddress = new ServerAddress(“127.0.0.1”, 27017);


MongoClientOptions.Builder builder = new Builder();
// 設置當鏈接空閑時,空閑線程池中最大鏈接數(shù)
builder.connectionsPerHost(100);


// 設置一個線程等待鏈接可用的最大等待毫秒數(shù)
builder.threadsAllowedToBlockForConnectionMultiplier(10);


// 創(chuàng)建客戶端并設置數(shù)據(jù)庫
MongoClient mongo = new MongoClient(serverAddress, builder.build());
MongoTemplate mongoTemplate = new MongoTemplate(mongo, DB_NAME);


2.MongoTemplate實現(xiàn)增刪改查

查詢
// 設置查詢條件
Criteria cri = new Criteria();


(1)and查詢

//相等 * = VALUE
cri.and(KEY).is(VALUE);


// 不相等 * != VALUE --> $ne
cri.and(KEY).ne(VALUE);


// 大于等于 * >= VALUE --> $gte
cri.and(KEY).gte(VALUE);


//大于 * > VALUE --> $gt
cri.and(KEY).gt(VALUE);


// 小于等于 * <= VALUE --> $lte
cri.and(KEY).lte(VALUE);


//小于 * < VALUE --> $lt
cri.and(KEY).lt(VALUE);


// 模糊查詢 * like VALUE
cri.and(KEY).regex((String) VALUE,"i"); // 加上“i”表示不區(qū)分大小寫比較


// 在其中 * in VALUES --> $in
cri.and(KEY).in((List<Object>) VALUES);


// 不在其中 * not in VALUES --> $nin
cri.and(KEY).nin((List<Object>) VALUES);


// 兩值之間包括兩值 VALUE1 <= * <= VALUE2
cri.and(KEY).gte(VALUE1).lte(VALUE2);


// 是否包含某字段 VALUE為true或false --> $exists
cri.and(KEY).exists((Boolean) VALUE);


(2) or查詢

List<Criteria> criteriaList = new ArrayList<>();
// 將or查詢條件添加到list
criteriaList.add(Criteria.where(KEY).is(VALUE));
criteriaList.add(Criteria.where(KEY).ne(VALUE));
....
// 使用 orOperator(Criteria... criterias)
cri.orOperator(criteriaList.toArray(new Criteria[criteriaList.size()]));


// 將條件傳進查詢實例
Query query = new Query(cri);


// 設置排序條件
Sort sort = query.sort();
sort.on(KEY, Order.ASCENDING); // 根據(jù)KEY ASC正序
或sort.on(KEY, Order.DESCENDING); // 根據(jù)KEY DESC逆序


// 根據(jù)query查詢collection下的記錄數(shù)
mongoTemplate.count(query, collection);


// 根據(jù)query查詢collection下的記錄并封裝成class的實體返回
mongoTemplate.find(query, clazz collection);


// 查詢collection下所有記錄并封裝成class的實體返回
mongoTemplate.findAll(clazz , collection);


刪除
// 根據(jù)query刪除collection下的記錄
mongoTemplate.remove(query, collection);


增改
// 保存或更新實體
mongoTemplate.save(obj, collection);


操作集合
// 根據(jù)集合名創(chuàng)建集合
mongoTemplate.createCollection(collection);


// 根據(jù)集合名刪除集合
mongoTemplate.dropCollection(collection);


// 根據(jù)集合名獲取集合對象
mongoTemplate.getCollection(collection);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容