關(guān)于MongoTemplate通過id查詢?yōu)閚ull的問題
Mongo的優(yōu)勢
1. 它會把數(shù)據(jù)文件映射到內(nèi)存中,如果是讀操作,內(nèi)存中的數(shù)據(jù)起到緩存的作用,如果是寫操作,內(nèi)存還可以把隨機的寫操作轉(zhuǎn)換成順序的寫操作,總之可以大幅度提升性能。MongoDB并不干涉內(nèi)存管理工作,而是把這些工作留給操作系統(tǒng)的虛擬內(nèi)存管理器去處理,這樣做的好處是簡化了MongoDB的工作,但壞處是你沒有方法很方便的控制MongoDB占多大內(nèi)存,幸運的是虛擬內(nèi)存管理器的存在讓我們多數(shù)時候并不需要關(guān)心這個問題。
2. MongoDB的內(nèi)存使用機制讓它在緩存重建方面更有優(yōu)勢,簡而言之:如果重啟進(jìn)程,那么緩存依然有效
配置:
spring.data.mongodb.uri=mongodb://test:123456@${ipAddr}:27017/mrqc?connectTimeoutMS=10000&authSource=admin
版本:
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>2.2.0.RELEASE</version> </dependency>
錯誤實體類
MongoId設(shè)置為了String,需要設(shè)置為ObjectId類型
@Data
@Document("user")
public class User {
@MongoId
private String id;
@Field("userName")
private String userName;
}
正確實體類
@Data
@Document("user")
public class User {
@MongoId
private ObjectId id;
@Field("userName")
private String userName;
}
查詢語句,如果mongoId類型為String那么就查詢不出來,無論是直接使用
findById方法或者find(query)或者id傳ObjectId對象,都是查不出來的,開始還以為配置錯了,結(jié)果是因為Mongo的id都是ObjectId無法對應(yīng)上實體類中的String類型。改成ObjectId同樣的語句就可以查詢出來了
User user = mongoTemplate.findById(new ObjectId(userId),User.class, "user");
到此這篇關(guān)于關(guān)于MongoTemplate通過id查詢?yōu)閚ull的問題的文章就介紹到這了,更多相關(guān)MongoTemplate查詢?yōu)閚ull內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用MongoDB進(jìn)行數(shù)據(jù)存儲的操作流程
在現(xiàn)代應(yīng)用開發(fā)中,數(shù)據(jù)存儲是一個至關(guān)重要的部分,隨著數(shù)據(jù)量的增大和復(fù)雜性的增加,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫有時難以應(yīng)對高并發(fā)和大數(shù)據(jù)量的處理需求,MongoDB作為一種高效的NoSQL數(shù)據(jù)庫,逐漸成為了開發(fā)者的首選,本文將介紹如何使用MongoDB進(jìn)行數(shù)據(jù)存儲2025-01-01
mongodb中ObjectId和ObjectIdr實現(xiàn)
本文主要介紹了mongodb中ObjectId和ObjectIdr實現(xiàn)2023-12-12
Mongodb UPDATE使用$sort將數(shù)組重新排序的示例代碼
$sort方法在$push操作過程中,修改數(shù)組元素的排序,$sort方法,必須和$each共同使用,mongodb允許用戶傳遞一個空的數(shù)組給$each方法,保證用戶無須向數(shù)組中插入元素也可以將數(shù)組進(jìn)行排序,本文給大家介紹了Mongodb UPDATE使用$sort將數(shù)組重新排序,需要的朋友可以參考下2024-06-06
mongodb數(shù)據(jù)庫入門之CURD簡單操作示例
這篇文章主要介紹了mongodb數(shù)據(jù)庫入門之CURD簡單操作,結(jié)合簡單示例形式分析了MongoDB數(shù)據(jù)庫基本的CURD增刪改查相關(guān)操作技巧與注意事項,需要的朋友可以參考下2019-10-10
使用aggregate在MongoDB中查詢重復(fù)數(shù)據(jù)記錄的方法
這篇文章主要介紹了使用aggregate在MongoDB中查詢重復(fù)數(shù)據(jù)記錄的方法的相關(guān)資料,需要的朋友可以參考下2016-01-01
解決mongodb在ubuntu下啟動失敗,提示couldn‘t remove fs lock errno:9 Bad
之前MongoDB啟動的時候是蠻正常的,不知道后來啟動報錯了,就把粘貼出來查詢了。經(jīng)過一番百度,才找的處理的辦法,分享給大家2014-08-08

