-
mongodb 필드 값이 배열일때 접근spring project/mongodb 2020. 5. 4. 23:29
배열이 값인 필드는 다음과 같이 꺼내서 썻다...
List detailimglist = new ArrayList<>();
Document dd = (Document) coll_footprints.find(Filters.eq("footprintidx",footprintidx+1)).first();
detailimglist = (List) dd.get("footprintimgs");
String d = detailimglist.get(0).toJson();
Iterator itr6 = detailimglist.iterator();
while(itr6.hasNext()){
Document b = (Document)itr6.next();
Object aa = b.get("footprintsimgidx");
System.out.println("footprintsimgidx : " + aa);
}aggregate로 다음과 같이 $match -> java
AggregateIterable result = coll_footprints.aggregate(Arrays.asList(Aggregates.match(Filters.and(Filters.eq("footprintidx", 2L), Filters.elemMatch("footprintimgs", Filters.eq("fileExt", "gif"))))));
해당 배열필드에 인덱스를 걸어줘야 빠르다.
'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 + java push update query (0) 2020.05.04