mongodb java 드라이버를 사용하여 maven 저장소 (아래 pom.xml과 같습니다)를 사용하여 날짜 범위와 집계 프레임 워크 사이의 트랜잭션을 쿼리합니다.
db.transactions.aggregate(
{ "$match" :
{
"created_at" : { "$gt" : { "$date" : "2001-04-12T12:00:00.000Z"} , "$lte" : { "$date" : "2020-04-13T12:00:00.000Z"}}
}
}
)
그때는 것 같다 $ 날짜 블록을 제거하고 ISOdate 기능과 날짜를 문자열로 교체하는 경우 : 자바 드라이버는 내가 몽고 콘솔에서 유효성을 검사하는 시도하고 작동하지 않는 것으로 확인 다음 $ 일치를 생성 일. 나는 자바에서 작동하지 않는 이유를 이해하는 데 실패 ($ 일치 JSON을 - 나는 몽고 콘솔에서 시도하고 그것이 잘 작동하지 않는 일식에서 가져온했다.) $ 날짜가 왜
pom.xml
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.11.0</version>
</dependency>
가 하나라도 알고 있나요 MongoDB v2.4.0을 사용하는 집합체로 작업하지 않습니까?
같이되어서 너무 우리는 데이터베이스의 데이터 저장소에 대한 정보를 제공합니다. 왜냐하면'date'는 문서의'created_at'에 내장 된 임베디드라고 가정했기 때문입니다. –
시도했지만 작동하지 않습니다. 내가 제공 한 코드는 MongoDB java 드라이버에 의해 생성되었으므로 ""문제는 아닙니다. created_at는 날짜 필드이며 ISO 날짜 형식을 유지합니다. : 참고로 아래 JSON을 찾아주세요 { "created_at"ISODate ("2013-04-18T10 : 42 : 22Z"), "payment_token을": "f7e595ec-1cdd-4e5d-93c5-eca8e5f9f876" } – Jaymin
제공 한 JSON을 참조하여 내 대답을 업데이트했습니다. 시도해보고 알려주십시오. 동일한 코드가 MongoDB 2.2.3에서 나와 함께 작동하기 때문에 문제가없는 버전에서도 잘 작동하길 바랍니다. –