五分鐘帶你玩轉mongodb(一)mongoDb簡介和整合spring boot

      網友投稿 784 2025-03-31

      MongoDb


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

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

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

      MongoDB對于關系型數據庫里的表,但是集合中沒有列、行和關系概念,這體現了模式自由的特點。

      一條MongoDB就是一個類似json數據結構

      特點:

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

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

      MongoDb的優點

      1.高速。

      2.支持json。(可存放復雜數據)

      3.可擴展分片集群。

      MongoDb的缺點

      1.事務關系支持薄弱。

      2.穩定性不足。

      3.運維難。

      4.不支持對表關聯查詢。

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

      使用場景

      1.對大量無固定格式的數據存儲,如日志等。(充分的使用了內存)

      2.需要高性能。

      3.擴展集群。

      對MongoDb增刪查改

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

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

      show dbs --查看數據庫,假設我們有一個叫test的數據庫 use test 使用test數據庫

      1

      2

      插入

      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'})

      1

      2

      3

      查詢

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

      1

      2

      3

      4

      5

      6

      7

      8

      9

      修改

      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}) --修改所有數據

      1

      2

      3

      4

      5

      6

      刪除

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

      1

      2

      五分鐘帶你玩轉mongodb(一)mongoDb簡介和整合spring boot

      spring boot整合mongodb

      然后在application.properties加入mongoDb鏈接。

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

      1

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

      @Autowired private MongoTemplate mongotemplate; //增加 @RequestMapping(path = "/savemongo", method = RequestMethod.POST) @ResponseBody public void savecCity(@RequestBody City city) { mongotemplate.save(city);//通過一個類類型向數據庫中插入json } //查詢 @RequestMapping("/selmongo") @ResponseBody public City select(@RequestParam int id) { Query query = new Query(Criteria.where("id").is(id)); //查詢id為傳入參數 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); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      MongoDB Spring Spring Boot

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

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

      上一篇:WPS 2013如何打造精品文具
      下一篇:如何在wps表格中設置密碼(電腦wps表格怎么設置密碼)
      相關文章
      国产专区一va亚洲v天堂| 亚洲国产成人精品无码区二本| 日韩成人精品日本亚洲| 亚洲中文字幕无码亚洲成A人片| 亚洲欧洲综合在线| 亚洲欧洲日本国产| 亚洲国产成人久久| 亚洲一级大黄大色毛片| 亚洲va乱码一区二区三区| 亚洲中文字幕无码av在线| 亚洲成A∨人片在线观看无码| 中文字幕亚洲综合精品一区| 91亚洲国产在人线播放午夜| 亚洲毛片免费视频| 亚洲乱码在线播放| 亚洲国产区男人本色在线观看| 亚洲人成7777| 亚洲熟妇AV一区二区三区浪潮| 亚洲成在人线在线播放无码| 国产亚洲欧美在线观看| 亚洲?V无码乱码国产精品| 亚洲国产精品自产在线播放| 亚洲精品色婷婷在线影院| 亚洲综合久久夜AV | 亚洲日本va在线视频观看| 亚洲国产精品无码久久久不卡| 亚洲AV无码一区二区二三区软件 | 亚洲www在线观看| 亚洲综合色一区二区三区| 亚洲成a∨人片在无码2023| 国产综合激情在线亚洲第一页| 亚洲国产成人爱av在线播放| 国内精品99亚洲免费高清| 亚洲精品成人网站在线观看 | 精品亚洲国产成人av| 亚洲一区二区高清| 亚洲AV中文无码字幕色三| 99久久精品国产亚洲| 亚洲 欧洲 日韩 综合在线| 亚洲av综合日韩| 久久精品国产亚洲5555|