日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

《Netkiller Spring Cloud 手札》Spring boot 2.0 mongoTemplate 操作范例

發布時間:2023/12/19 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Netkiller Spring Cloud 手札》Spring boot 2.0 mongoTemplate 操作范例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

本文節選自 《Netkiller Spring Cloud 手札》

?

Netkiller Spring Cloud 手札

Spring Cloud Cookbook

Mr.?Neo?Chan,?陳景峯(BG7NYT)



中國廣東省深圳市望海路半島城邦三期
518067
+86?13113668890

<netkiller@msn.com>

$Id: book.xml 606 2013-05-29 09:52:58Z netkiller $

版權 ? 2015-2018 Neo Chan

?

版權聲明

轉載請與作者聯系,轉載時請務必標明文章原始出處和作者信息及本聲明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信訂閱號 netkiller-ebook (微信掃描二維碼)
QQ:13721218 請注明“讀者”
QQ群:128659835 請注明“讀者”

?

2017-11

我的系列文檔

編程語言

Netkiller Architect 手札Netkiller Developer 手札Netkiller Java 手札Netkiller Spring 手札Netkiller PHP 手札Netkiller Python 手札
Netkiller Testing 手札Netkiller Cryptography 手札Netkiller Perl 手札Netkiller Docbook 手札Netkiller Project 手札Netkiller Database 手札

5.2.4.?mongoTemplate

導入與模板相關的包

import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update;

注入 MongoTemplate 對象

@Autowiredprivate MongoTemplate mongoTemplate;

5.2.4.1.?Save 保存

User user = new User(); user.setName("Netkiller"); mongoTemplate.save(user, "user");

更新數據

user = mongoTemplate.findOne(Query.query(Criteria.where("name").is("Jam")), User.class); user.setName("Neo"); mongoTemplate.save(user, "user");

5.2.4.2.?Insert

User user = new User(); user.setName("Neo"); mongoTemplate.insert(user, "user"); BSONObject personBsonObj = BasicDBObjectBuilder.start().add("name","Neo Chen").add("age",27).add("address",null).get();mongoTemplate.insert(personBsonObj,"personCollection");

document in the db:

db.personCollection.findOne().pretty(); {"age":21,"name":"John Doe";"address":null}*

5.2.4.3.?更新第一條

Query query = new Query(); query.addCriteria(Criteria.where("name").is("Neo")); Update update = new Update(); update.set("name", "Netkiller"); mongoTemplate.updateFirst(query, update, User.class);

5.2.4.4.?更新所有數據

Query query = new Query(); query.addCriteria(Criteria.where("name").is("Neo")); Update update = new Update(); update.set("name", "Jerry"); mongoTemplate.updateMulti(query, update, User.class);

5.2.4.5.?查找并保存

Query query = new Query(); query.addCriteria(Criteria.where("name").is("Luck")); Update update = new Update(); update.set("name", "Lisa"); User user = mongoTemplate.findAndModify(query, update, User.class);

5.2.4.6.?upsert

Query query = new Query(); query.addCriteria(Criteria.where("name").is("Green")); Update update = new Update(); update.set("name", "Tom"); mongoTemplate.upsert(query, update, User.class);

5.2.4.7.?刪除

User user = new User(); user.setId("5bbf091efd9557069c4a25c5") mongoTemplate.remove(user, "user");

5.2.4.8.?查找一條數據

public Person findOneByName(String name) {Query query = new Query();query.addCriteria(Criteria.where("name").is(name));return mongoTemplate.findOne(query, Person.class); }

5.2.4.9.?查找所有數據

public List<Person> findByName(String name) {Query query = new Query();query.addCriteria(Criteria.where("name").is(name));return mongoTemplate.find(query, Person.class); }

5.2.4.10.?Query

5.2.4.10.1.?翻頁

public List<Person> getAllPersonPaginated(int pageNumber, int pageSize) {Query query = new Query();query.skip(pageNumber * pageSize);query.limit(pageSize);return mongoTemplate.find(query, Person.class); }

5.2.4.10.2.?between

實現一個區間條件 new Criteria("createdDate").gte(beginDate).lte(endDate)

public boolean AccountDeposit(Date beginDate, Date endDate) {MatchOperation matchOperation = match(new Criteria("createdDate").gte(beginDate).lte(endDate));GroupOperation groupOperation = group("loginname").sum("amount").as("amount");SortOperation sortOperation = sort(new Sort(Direction.ASC, "loginname"));Aggregation aggregation = newAggregation(matchOperation, groupOperation, sortOperation);AggregationResults<AccountSettlementDetails> results = mongoTemplate.aggregate(aggregation, AccountSettlementDetails.class, AccountSettlementDetails.class);if (results.getMappedResults() != null) {log.info(results.getRawResults().get("result").toString());for (AccountSettlementDetails settlementDetails : results.getMappedResults()) {log.info("{}", settlementDetails.toString());}}return true;}

5.2.4.11.?Criteria

5.2.4.11.1.?is

Query query = new Query(); query.addCriteria(Criteria.where("name").is("Neo")); List<User> users = mongoTemplate.find(query, User.class);

5.2.4.11.2.?Regex 正則表達式搜索

查詢以N開頭的名字

Query query = new Query(); query.addCriteria(Criteria.where("name").regex("^N")); List<User> users = mongoTemplate.find(query,User.class);

查詢以o結尾的名字

Query query = new Query(); query.addCriteria(Criteria.where("name").regex("o$")); List<User> users = mongoTemplate.find(query, User.class);

5.2.4.11.3.?lt 和 gt

查詢年齡小于 < 30 并 > 20 的用戶

Query query = new Query(); query.addCriteria(Criteria.where("age").lt(30).gt(20)); List<User> users = mongoTemplate.find(query,User.class);

查找日期范圍

Date start = DateUtil.convertStringToDateTime("2014-02-10 20:38:44"); Date end = DateUtil.convertStringToDateTime("2014-02-10 20:38:50");Query query = new Query(); Criteria criteria = Criteria.where("delflag").is(false); criteria.and("modifyDate").gte(start).lte(end); query.addCriteria(criteria); query.limit(10);

5.2.4.11.4.?

<programlisting><![CDATA[ Query query = new Query(); query.addCriteria(new Criteria().andOperator(Criteria.where("field1").exists(true),Criteria.where("field1").ne(false)) );List<Foo> result = mongoTemplate.find(query, Foo.class); System.out.println("query - " + query.toString());for (Foo foo : result) {System.out.println("result - " + foo); }

5.2.4.11.5.?包含

public List<Person> findByFavoriteBooks(String favoriteBook) {Query query = new Query();query.addCriteria(Criteria.where("favoriteBooks").in(favoriteBook));return mongoTemplate.find(query, Person.class); }

5.2.4.12.?Update

5.2.4.12.1.?set

Update update = new Update(); update.set("name", "Netkiller");

5.2.4.12.2.?追加數據

Query query = Query.query(Criteria.where("id").is("5bbf091efd9557069c4a25c5"));Update update = new Update().push("author", new Author("neo", "chen"));mongoTemplate.updateFirst(query, update, Article.class);

5.2.4.12.3.?更新數據

Query query = Query.query(Criteria.where("classId").is("1").and("Students.studentId").is("1"));Update update = Update.update("Students.$.name", "lisa");mongoTemplate.upsert(query, update, "class");

5.2.4.12.4.?刪除數據

Query query = Query.query(Criteria.where("classId").is("1").and("Students.studentId").is("3"));Update update = new Update();update.unset("Students.$");mongoTemplate.updateFirst(query, update, "class");

5.2.4.12.5.?inc

public void updateMultiplePersonAge() {Query query = new Query();Update update = new Update().inc("age", 1);mongoTemplate.findAndModify(query, update, Person.class);; }

5.2.4.12.6.?update.addToSet

Query query = Query.query(Criteria.where("classId").is("1")); Student student = new Student("1", "lisa", 3, "girl"); Update update = new Update(); update.addToSet("Students", student); mongoTemplate.upsert(query, update, "class");

5.2.4.13.?Sort

按照年齡排序

Query query = new Query(); query.with(new Sort(Sort.Direction.ASC, "age")); List<User> users = mongoTemplate.find(query,User.class);

5.2.4.14.?Query + PageRequest

final Pageable pageableRequest = new PageRequest(0, 2); Query query = new Query(); query.with(pageableRequest);

5.2.4.15.?newAggregation

MultilevelDirectSellingAccountRewardsSettlementDetails multilevelDirectSellingAccountRewardsSettlementDetails = new MultilevelDirectSellingAccountRewardsSettlementDetails();multilevelDirectSellingAccountRewardsSettlementDetails.setLoginname("111");multilevelDirectSellingAccountRewardsSettlementDetails.setPhone("111");multilevelDirectSellingAccountRewardsSettlementDetails.setRecommenderLoginname("111");multilevelDirectSellingAccountRewardsSettlementDetails.setRecommenderPhone("111");multilevelDirectSellingAccountRewardsSettlementDetails.setRecommenderName("Neo");multilevelDirectSellingAccountRewardsSettlementDetails.setRecommenderType("客戶");multilevelDirectSellingAccountRewardsSettlementDetails.setAmount(5.02);multilevelDirectSellingAccountRewardsSettlementDetails.setCreatedDate(new Date());multilevelDirectSellingAccountRewardsSettlementDetailsRepository.save(multilevelDirectSellingAccountRewardsSettlementDetails);Date beginDate = this.getToday("00:00:00");Date endDate = this.getToday("23:59:59");log.info(beginDate.toString() + " ~ " + endDate.toString());GroupOperation groupOperation = group("loginname").sum("amount").as("amount");MatchOperation matchOperation = match(new Criteria("createdDate").gte(beginDate).lte(endDate));SortOperation sortOperation = sort(new Sort(Direction.ASC, "loginname"));Aggregation aggregation = newAggregation(matchOperation, groupOperation, sortOperation);AggregationResults<MultilevelDirectSellingAccountRewardsSettlementDetails> results = mongoTemplate.aggregate(aggregation, MultilevelDirectSellingAccountRewardsSettlementDetails.class, MultilevelDirectSellingAccountRewardsSettlementDetails.class); System.out.println(results.getRawResults().get("result").toString());

5.2.4.16.?創建索引

mongoOps.indexOps(User.class).ensureIndex(new Index().on("name", Direction.ASC));

5.2.4.17.?子對象操作

5.2.4.17.1.?List 類型

package cn.netkiller.api.domain;import java.util.List;import javax.persistence.Id; import org.springframework.data.mongodb.core.mapping.Document;@Document public class Article {@Idprivate String id;private String title;private String description;List<Author> author;public static class Author {private String id;private String firstname;private String lastname;public Author(String firstname, String lastname) {this.firstname = firstname;this.lastname = lastname;}} }

更新

db.getCollection('foo').update({"author.firstname":"neo"},{"$set":{"author.$.firstname":"netkiller"}})

更新數據

Query query = Query.query(Criteria.where("author.firstname").is("neo"));Update update = new Update().set("author.$.firstname", "netkiller");mongoTemplate.updateFirst(query, update, Article.class);

追加數據

Query query = Query.query(Criteria.where("id").is("5bbf091efd9557069c4a25c5"));Update update = new Update().push("author", new Author("neo", "chen"));mongoTemplate.updateFirst(query, update, Article.class);

刪除數據

Query query = Query.query(Criteria.where("id").is("5bbf091efd9557069c4a25c5"));Update update = new Update().pull("author", new Author("jerry", "lee"));mongoTemplate.updateFirst(query, update, Article.class);

?

?

?

轉載于:https://my.oschina.net/neochen/blog/2243901

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的《Netkiller Spring Cloud 手札》Spring boot 2.0 mongoTemplate 操作范例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av导航在线 | 亚洲精品喷潮一区二区三区 | 亚洲国产97| 国产乱码精品一品二品 | 三级做爰在线观看视频 | 拍摄av现场失控高潮数次 | 午夜精品久久久久久久四虎美女版 | 好吊妞视频一区二区三区 | 亚洲无码精品一区二区三区 | 成人毛片100部免费看 | www一起操 | 亚州综合视频 | 性爱免费视频 | 成人性生交大片 | 国产成人免费视频 | 国产精品成av人在线视午夜片 | 国产欧美一区二区三区国产幕精品 | 一级v片| 欧美日韩一区二区视频在线观看 | 国产性生活片 | 男女无遮挡做爰猛烈视频 | 爱情岛论坛永久入址测速 | 美国黄色一级大片 | 毛片综合 | 日韩欧美在线视频观看 | 免费观看视频一区二区 | 欧美一级免费大片 | 国产一区二区三区小说 | 神马三级我不卡 | 男女在线视频 | 丰满av| 亚洲视频高清 | 韩日中文字幕 | 自拍偷拍亚洲精品 | 精品亚洲成人 | www狠狠| 99精品无码一区二区 | 二区不卡 | 欧美综合在线观看 | 人妻一区二区三区视频 | 精品亚洲中文字幕 | 亚洲乱码国产乱码精品 | 影音先锋在线观看视频 | 96亚洲精品久久久蜜桃 | 精品国产一区二区三区久久久 | 艳妇乳肉亭妇荡乳av | 亚洲午夜毛片 | 日韩一区在线播放 | 久久人成 | 日韩视频免费观看高清完整版在线观看 | 久久老司机精品视频 | 女人做爰全过程免费观看美女 | 亚洲乱码精品 | 日本中文字幕网站 | 美国黄色一级视频 | jizz少妇 | 奇米888一区二区三区 | 亚洲巨乳在线 | 亚洲天堂网在线观看视频 | 国产艳俗歌舞表演hd | 蜜臀在线观看 | 蜜桃无码一区二区三区 | 亚洲福利一区 | 看片网址国产福利av中文字幕 | 99久久精品国产毛片 | 欧美日韩四区 | 日本xx视频免费观看 | av免费精品 | 夜夜操免费视频 | 超碰av在线播放 | 国产色呦呦 | 欧美激情在线观看一区 | 免费激情片| 国产成人精品一区二区三区福利 | 福利视频h | 日韩专区在线 | 成年人晚上看的视频 | 91成人免费观看 | 男男成人高潮片免费网站 | 免费在线一级片 | 国产精品第六页 | 精品一区二区三区四区 | 天天碰免费视频 | 日韩一区二区三区电影 | 亚洲黄色av网站 | 少妇裸体挤奶汁奶水视频 | 老司机一区二区 | 久久午夜国产精品 | 国产精品夜夜夜爽张柏芝 | 国产久精品 | 亚洲 小说区 图片区 都市 | 精品网站 | 咪咪成人网| 日本一区中文字幕 | 永久免费精品影视网站 | 国产又黄又 | 婷婷影视| 校园春色中文字幕 | 亚洲天天操 |