天天看點

spring-mongo填坑-表名命名不規範時必須設定collection

接手一個業務要對mongoDB進行查詢,我選擇了spring的MongoTemplate,結果有一個表死活查不出資料,其他的表試過都沒有問題,這個表和其他表唯一的差別就是命名方式不一樣,其他的表是首字母小寫,這張表的首字母是大寫的,而我寫的Bean是都是首字母大寫,我猜測可能spring做處理的時候如果不指定collection,預設會将首字母小寫,于是我對collection進行了指定,果然問題解決.

@Document(collection = "表名")      

PS:bean裡面使用了基本類型可能導緻查詢結果為空或者查詢失敗,比如mongo表中有一個boolean類型的字段isDelete,但并不是每條資料都有這個字段,如果你查詢到的資料中有一條沒有這個字段,而你bean裡面的isDelete是boolean類型,就會導緻無法指派null而報錯,如果定義成Boolean(封裝類)就沒問題了