SpringBoot mongodb starter 使用

綜合案例:

  1. 排序,指定排序方式。
  2. 分頁查詢
  3. 多條件查詢
  4. 正則條件查詢
  5. 獲取指定字段
@Autowired
	    private MongoTemplate mongoTemplate;

// 排序條件封裝
Sort sort =Sort.by(Sort.Direction.DESC, "age");  // 依照 age 字段 降序
// 分頁查詢條件封裝,排序條件加入
Pageable pageable = PageRequest.of(0, 10, sort); // 0 頁號 // 10 頁大小 // sort 排序條件
// 查詢對象,裏面添加 查詢條件
Query query = new Query();
// 查詢條件 Criteria 條件
Criteria criteria = new Criteria();
// query 添加條件 
ArrayList<String> nameList = Arrays.asList("zs","lisi");
query.addCriteria(Criteria.where("name").in(nameList ));  // name 的值要 在 nameList 裏 
// 添加 province = 北京 條件 
criteria.and("province").is("北京"); 
// 正則條件封裝
Pattern addressPattern = Pattern.compile(".*河.*$", Pattern.CASE_INSENSITIVE); // 任意字符開頭,中間有——河,這個字,任意字符結尾
criteria.and("address").regex(addressPattern);
// 最後將沒有加入的條件加入
query.addCriteria(criteria);
// 指定返回的字段有 name 字段
query.fields().include("name");
// 執行查詢
List<Person> personList = mongoTemplate.find(query.with(pageable),Person.class); // Person 是返回的數據對象

Person.class

@Document(collection = "tb_person") // collection 名字
public class Person{
	@Field("name") // 指定對應字段在 collection 裏
    private String name;
    @Field("age")
    private Integer name; 
    /*getter setter ... */
}

更多方法類似。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章