MongoDB命令及其MongoTemplate的混合講解


前言

前面講解了如何在springboot中集成mongodb,本文將講解mongodb命令操作及其MongoTemplate的使用。穿插的目的在於不用先去尋找mongodb的命令又去尋找在java中的應用。本人就是從中過來的,所以本文旨在減少剛入門的同學少走一點彎路。

mongoDB所存儲的數據以鍵值對的方式存儲

注意事項

在創建數據庫和創建集合沒有講解MongoTemplate的使用是因為:在創建數據庫時只需要在配置文件中配置database路徑即可。而在創建集合是只需要進行插入或者更新操作即可自動創建集合

注入mongotemplate

@Autowired 
MongoTemplate mongoTemplate;

1. 創建數據庫

use mydatabase
#插入數據
db.mydatabase({"name","我的數據庫"})
show dbs

2. 創建集合

use mydatabase
db.createCollection("mycollection")
# 顯示所有集合
show collections

3. 插入文檔

命令方式:

db.mycollection.insert({
	"key":"data",
	"value":"數據",
	"num": 1
})

java代碼:

// 自定義對象
Data data = new Data("data","數據",1);
mongoTemplate.insert(data, "mycollection");

3. 更新文檔

命令方式:

# 更新單行
db.mycollection.update({"key":"data"},{"$set":{"value":"更新數據"}})
# 更新多行
db.mycollection.update({"key":"data"},{"$set":{"value":"更新數據"}},{multi:true})

#如果數據結構是 
{
	"key":"key"
    "data":{
        "value":"數據"
    }
}
db.mycollection.update({"key":"data"},{"$set":{"data.value":"更新數據"}})

java代碼:

 Update update = new Update();
 update.set("value":"更新數據");
 update.set("data.value":"更新數據");
 // num自增加 前提 num 對應的必須為整形或者浮點型
 update.inc("num", 1);
 Query query = new Query(
      Criteria.where("key").is("data")
 );
 mongoTemplate.updateFirst(query, update, "mycollecition");

4. 查詢文檔

命令方式

#普通查詢
db.mycollection.find({"key":"data"})
#正則查詢
db.mycollection.find({"key":{"$regex":"dat"}})
#大於等於 gte 小於等於 lte 大於 gt 小於 lt
db.mycollection.find({"num":{"$lt":1}})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM