天天看点

spring-mongo填坑-表名命名不规范时必须设置collection

接手一个业务要对mongoDB进行查询,我选择了spring的MongoTemplate,结果有一个表死活查不出数据,其他的表试过都没有问题,这个表和其他表唯一的区别就是命名方式不一样,其他的表是首字母小写,这张表的首字母是大写的,而我写的Bean是都是首字母大写,我猜测可能spring做处理的时候如果不指定collection,默认会将首字母小写,于是我对collection进行了指定,果然问题解决.

@Document(collection = "表名")      

PS:bean里面使用了基本类型可能导致查询结果为空或者查询失败,比如mongo表中有一个boolean类型的字段isDelete,但并不是每条数据都有这个字段,如果你查询到的数据中有一条没有这个字段,而你bean里面的isDelete是boolean类型,就会导致无法赋值null而报错,如果定义成Boolean(封装类)就没问题了