[MONGODB] 봄 필터 집합 만들기
MONGODB봄 필터 집합 만들기
나는 최근에 SpringData와 MongoDB를에 집계 프레임 워크를 탐험하기 시작했다. 나는 다음과 같은 쿼리 즉를 만들 수 있습니다
db.consumer_order.aggregate([
{ $match: {_id: ObjectId("59e43f542397a00de0c688e4"), "orderState":"Confirmed"}},
{ $project: {
parts: {$filter: {
input: '$parts',
as: 'item',
cond: {$eq: ['$$item.currentState', "Estimation Confirmed"]}
}}
}}
])
다음 코드 봄에서 MongoDB를 기본 드라이버로
List<Document> aggrigationList = new ArrayList<>();
List<String> conditions = new ArrayList<>();
conditions.add("$$item.currentState");
conditions.add("Estimation Confirmed");
Document matchDoc = new Document("$match",new Document("_id",new ObjectId(orderId)));
Document projectDoc = new Document("$project",new Document("parts",new Document("$filter",new Document("input","$parts").append("as", "item").append("cond", new Document("$eq",conditions)))));
aggrigationList.add(matchDoc);
aggrigationList.add(projectDoc);
Document orderWithPendingParts = consumerOrderCollection.aggregate(aggrigationList).first();
그러나 나는 우리가 손에 봄 - 데이터를했습니다 이후 기본 드라이버로 항상 작동하는 것은 좋은 방법이 아닙니다 알고 않습니다. 그러나 나는 봄 데이터 사용 AggrigationObject 위 MongoDB의 쿼리를 구성하는 데 문제가 있어요. 나는 아래로 시도하지만) (Aggregation.project를 구축에 즉 어려움을 찾을 수
mongoTemplate.aggregate(Aggregation.newAggregation(
Aggregation.match(Criteria.where("owner").is(user).andOperator(Criteria.where("orderState").is("confirmed"))),
***Finding Difficulty in here***
), inputType, outputType)
내가 뭔가 잘못하고있어 경우에, 저를 안내합니다.
해결법
-
==============================
1.당신은 쿼리 아래에 시도 할 수 있습니다.
당신은 쿼리 아래에 시도 할 수 있습니다.
고정 수입
import static org.springframework.data.mongodb.core.aggregation.Aggregation.*; import static org.springframework.data.mongodb.core.aggregation.ArrayOperators.Filter.filter; import static org.springframework.data.mongodb.core.aggregation.ComparisonOperators.Eq.valueOf;
암호
Aggregation aggregation = newAggregation( project().and(filter("parts") .as("item") .by(valueOf( "item.currentState") .equalToValue( "Estimation Confirmed"))) .as("parts"); ); List<outputType> results = mongoTemplate.aggregate(aggregation, inputType, outputType)
from https://stackoverflow.com/questions/46767750/create-filter-aggregation-in-spring by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 데이터베이스는 자동으로 삭제 (0) | 2019.12.27 |
---|---|
[MONGODB] ID의 목록을 감안할 때, IDS 컬렉션에 존재하지 않는 쿼리하는 가장 좋은 방법은 무엇입니까? (0) | 2019.12.27 |
[MONGODB] 최대 배열 필드, 오름차순 또는 내림차순으로 정렬 (0) | 2019.12.27 |
[MONGODB] mongoexport JSON 구문 분석 오류 (0) | 2019.12.27 |
[MONGODB] 여러 언어를 사용하여 MongoDB를 텍스트 검색 (0) | 2019.12.27 |