-
mongodb + java push update queryspring project/mongodb 2020. 5. 4. 23:01
첨부파일 저장하고 mongodb 에 넣을때 컬렉션에 imgs에 배열로 계속 추가 및 수정, 삭제를 하려한다.
for (MongoFileVo mongoFileVo : fresult) {
doc_fpimg = new BasicDBObject();
doc_fpimg.put("footprintsimgidx", mongoFileVo.getFootprintsimgidx());
doc_fpimg.put("footprintpgmFileSeq", mongoFileVo.getFootprintpgmFileSeq());
doc_fpimg.put("fileSaveNm", mongoFileVo.getFileSaveNm());
doc_fpimg.put("fileRealNm", mongoFileVo.getFileRealNm());
doc_fpimg.put("fileSize", mongoFileVo.getFileSize());
doc_fpimg.put("fileExt", mongoFileVo.getFileExt());
DBObject appendObj = new BasicDBObject();
appendObj.put("$push", new BasicDBObject().append("footprintimgs", doc_fpimg));
coll_footprints.updateOne(Filters.eq("footprintidx",footprintidx+1), (Bson) appendObj);
}이렇게 한개씩 $push를 update 해도 되고
List imglist = new ArrayList<>();
for (MongoFileVo mongoFileVo : fresult) {
doc_fpimg = new BasicDBObject();
doc_fpimg.put("footprintsimgidx", mongoFileVo.getFootprintsimgidx());//++1하면서만들어냄
doc_fpimg.put("footprintpgmFileSeq", mongoFileVo.getFootprintpgmFileSeq());
doc_fpimg.put("fileSaveNm", mongoFileVo.getFileSaveNm());
doc_fpimg.put("fileRealNm", mongoFileVo.getFileRealNm());
doc_fpimg.put("fileSize", mongoFileVo.getFileSize());
doc_fpimg.put("fileExt", mongoFileVo.getFileExt());
imglist.add(doc_fpimg);
}
coll_footprints.updateOne(Filters.eq("footprintidx",footprintidx+1), Updates.pushEach("footprintimgs", imglist));마지막에 이렇게 한번에 pushEach해도 된다.
'spring project > mongodb' 카테고리의 다른 글
Mongodb java insert geolocation query (0) 2020.06.05 Mongodb find query with java (0) 2020.06.05 Mongodb geolocation 위도 경도 java (0) 2020.06.04 mongodb 필드 값이 배열일때 접근 (0) 2020.05.04