mongoDb入門并整合spring boot

      網(wǎng)友投稿 884 2025-04-01

      1.MongoDb簡介


      MongoDb是一種非關(guān)系型數(shù)據(jù)庫,是現(xiàn)在非常火熱的noSQL。也被稱為文檔性數(shù)據(jù)庫。(可存放json,xml等格式)

      mongodb與mysql命令對比 傳統(tǒng)的關(guān)系數(shù)據(jù)庫一般由數(shù)據(jù)庫(database)、表(table)、記錄(record)三個層次概念組成,

      MongoDB是由數(shù)據(jù)庫(database)、集合(collection)、文檔對象(document)三個層次組成。(存儲xml,json等)

      MongoDB對于關(guān)系型數(shù)據(jù)庫里的表,但是集合中沒有列、行和關(guān)系概念,這體現(xiàn)了模式自由的特點。

      一條MongoDB就是一個類似json數(shù)據(jù)結(jié)構(gòu)

      特點:

      存儲方式:虛擬內(nèi)存+持久化。(數(shù)據(jù)存儲在磁盤,但是充分利用了緩存,常用的數(shù)據(jù)放于內(nèi)存)

      不使用固定的sql進行操作。(有固定語法)

      1.MongoDb的優(yōu)點

      高速。

      支持json。(可存放復(fù)雜數(shù)據(jù))

      可擴展分片集群。

      2.MongoDb的缺點

      事務(wù)關(guān)系支持薄弱。

      穩(wěn)定性不足。

      運維難。

      不支持對表關(guān)聯(lián)查詢。

      在指定id之后插入會比較慢。

      3.使用場景

      對大量無固定格式的數(shù)據(jù)存儲,如日志等。(充分的使用了內(nèi)存)

      需要高性能。

      擴展集群。

      2.MongoDb的curd語法

      1.安裝

      mongoDb入門并整合spring boot

      首先需要安裝,可以按照這位老哥的來安裝 https://www.cnblogs.com/RushPasser/p/b060ea88677ab73fce01300d19676158.html。親試賊專業(yè)。

      2.操作命令

      進入C:\Program Files\MongoDB\Server\3.4\bin,雙擊mongo.exe。

      show dbs --查看數(shù)據(jù)庫,假設(shè)我們有一個叫test的數(shù)據(jù)庫 use test 使用test數(shù)據(jù)庫

      db.message.save({'name':'xiaobao','age':27,'class':'1-1'}) --插入message的信息。里面為json。 db.message.save({'name':'xiaobao2','age':28,'class':'2-1'}) db.message.save({'name':'xiaobao3','age':29,'class':'3-1'})

      db.message.find() --查詢message db.message.find().pretty() --格式化在查詢 db.message.find() .limit(1) --查詢一條 db.message.find({"age":{"$gte":10}}) --查詢age大于10的數(shù)據(jù) db.message.find({"age":{"$lte":10}}) --查詢age小于10的數(shù)據(jù) db.message.find().sort({"age":1}) --正排序 db.message.find().sort({"age":1}) --負排序 db.message.count() --查詢條數(shù)

      db.message.update({"name":"xiaobao"},{$set:{"name":"xiaowang"}}) db.message.update({"name":"xiaowang"},{"name":"laoli"}) --修改name 為laoli 其余值刪除 db.message.update({"name":"xiaobao2"},{$set:{"name":"xiaowang"}},{upsert:true}) --如果沒有 增加一條 db.message.update({"name":"xiaowang"},{$set:{"name":"xiaowang"}},{multi:true}) --修改所有數(shù)據(jù)

      db.message.remove() --刪除所有 db.message.remove({'class':'1-1'}) --刪除class = 1-1的那條

      3.整合spring boot

      在application.properties加入mongoDb鏈接。

      spring.data.mongodb.uri=mongodb://192.168.2.81:27017/test

      然后使用MongoTemplate 來操作數(shù)據(jù)庫,MongoTemplate 和常用的RedisTemplate差不多,都是封裝了mongoDb方法的客戶端。

      @Autowired private MongoTemplate mongotemplate; //增加 @RequestMapping(path = "/savemongo", method = RequestMethod.POST) @ResponseBody public void savecCity(@RequestBody City city) { mongotemplate.save(city);//通過一個類類型向數(shù)據(jù)庫中插入json } //查詢 @RequestMapping("/selmongo") @ResponseBody public City select(@RequestParam int id) { Query query = new Query(Criteria.where("id").is(id)); //查詢id為傳入?yún)?shù) City user = mongotemplate.findOne(query, City.class); return user; } //刪除 @RequestMapping("/delmogo") @ResponseBody public void del(@RequestParam int id) { Query query = new Query(Criteria.where("id").is(id)); //個人理解此行為查詢條件,然后在下面查找出在刪除。 mongotemplate.remove(query, City.class); } //修改 @RequestMapping(path = "/updamogo", method = RequestMethod.POST) @ResponseBody public void updateMongo(@RequestBody City city) { Query query = new Query(Criteria.where("id").is(city.getId())); Update update = new Update().set("provinceId", city.getProvinceId()).set("cityName", city.getCityName()); mongotemplate.updateFirst(query, update, City.class); }

      MongoDB Spring Spring Boot

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:櫥柜家具訂單明細表是打造理想家居的關(guān)鍵
      下一篇:【云小課】【第32課】創(chuàng)建DDS只讀節(jié)點,輕松應(yīng)對業(yè)務(wù)高峰
      相關(guān)文章
      亚洲综合亚洲国产尤物| 亚洲av伊人久久综合密臀性色| 久久亚洲精品高潮综合色a片| 国产区图片区小说区亚洲区| 久久亚洲国产成人亚| 亚洲男女一区二区三区| 国产国拍亚洲精品福利 | 亚洲国产午夜精品理论片| 亚洲色成人网站WWW永久四虎| 亚洲精品无码永久在线观看你懂的| 亚洲日韩精品A∨片无码加勒比| 亚洲AV日韩综合一区尤物| 亚洲av无码潮喷在线观看| 亚洲成AV人片一区二区| 亚洲AV综合色区无码另类小说| 久久亚洲精品AB无码播放| 亚洲好看的理论片电影| 亚洲精品偷拍视频免费观看| 亚洲成人激情小说| 老子影院午夜伦不卡亚洲| 国产成人精品日本亚洲11| 亚洲VA中文字幕不卡无码| 亚洲精品tv久久久久久久久| 亚洲AV无码成人精品区天堂 | 2020年亚洲天天爽天天噜| 亚洲一区二区三区亚瑟| 亚洲最大成人网色| 自拍偷自拍亚洲精品第1页| 亚洲av无码成人精品区一本二本| 亚洲成年人电影网站| 国产亚洲精AA在线观看SEE| 亚洲成A人片在线观看WWW| 亚洲国产精品久久66| 亚洲精品在线不卡| 中中文字幕亚洲无线码| 亚洲avav天堂av在线网毛片| 亚洲国产精品自产在线播放| 亚洲性在线看高清h片| 亚洲jjzzjjzz在线观看| 久久亚洲国产成人影院| 日本亚洲中午字幕乱码|