본문 바로가기
DB/Mongo DB

[MongDB] update, find

by JiGyeong 2016. 6. 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    private void updateDatas(String key, String value, MongoTestVO mongoTestVO) {
        
        Criteria criteria = new Criteria(key);
        criteria.is(value);
        Query query = new Query(criteria);
        
        Update update = new Update();
        update.set("name", mongoTestVO.getName());
        update.set("address", mongoTestVO.getAddress());
        
        mongoTemplate.updateMulti(query, update, "person");
        
    }
    
    private void updateData(String key, String value, MongoTestVO mongoTestVO ){
        
        Criteria criteria = new Criteria(key);
        criteria.is(value);
        Query query = new Query(criteria);
        
        Update update = new Update();
        update.set("name""마이콜");
        update.set("address""후루룩 짭짭 후루룩 짭짭 맛좋은 라면");
        
        mongoTemplate.updateFirst(query, update, "person");
    }
cs


vo에 값을 넣어서 전달한다.

전체 데이터를 다 바꿀수도 있고 -> updateMulti

첫번째 행만 바꿀 수도 있다. -> updateFirst



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    private void findData(String key, String value) {
        Criteria criteria = new Criteria(key);
        criteria.is(value);
        
        Query query = new Query(criteria);
        
        MongoTestVO mongoTest = mongoTemplate.findOne(query, MongoTestVO.class"person");
        System.out.println(mongoTest.getName());
        System.out.println(mongoTest.getAddress());
        System.out.println(mongoTest.getId());
    }
    
    private void findDatas(String key, String value) {
        Criteria criteria = new Criteria(key);
//        criteria.is(value);
        criteria.regex("^둘리"); //둘리로 시작하는 데이터
        
        Query query = new Query(criteria);
        
        List<MongoTestVO> datas = mongoTemplate.find(query, MongoTestVO.class"person");
        
        for (MongoTestVO mongoTestVO : datas) {
            System.out.println(mongoTestVO.getName());
            System.out.println(mongoTestVO.getAddress());
            System.out.println(mongoTestVO.getId());
        }
    }
cs

첫번째 데이터만 출력하거나 -> findOne
전체 데이터를 찾을 수 있다. -> find
regex 는 like와 같은 기능을 한다. (regular expression )