2016-11-21 9 views
0

내 응용 프로그램에서 node.js와 Mongo DB를 사용하고 있습니다.MongoDB 날짜 범위 쿼리

나는 같은 MongoDB를에 항목의 field(datetime) 날짜 저장 한 : 이제 "datetime":"Mon Nov 21 2016 00:47:39 GMT-0500 (Eastern Standard Time)"

내가 특정보다 큰 모든 항목을 찾기 위해 노력하고있다 :이 같은 날짜를 출력

db.collection('person').insertOne({"name": "ABC","age": "40","datetime": Date()} 

날짜. 이를 위해 나는 다음을 수행하십시오

db.collection('person').find({'datetime':{$gt: startingdate}) 

STARTINGDATE는 22,11,2016.

이 작동하지 않습니다를 포함하고 나에게 날짜 필드가 모든 레코드를 가져 오는 경우.

나는 심지어 사용하여 시도 :

startingdate = Date(22,11,2016) 

startingdate = Date(2016,11,22) 

하지만 아무 소용이

. 누군가 나를 알아낼 수있게 도와 줄 수 있습니까?

감사합니다.

답변

1

Date() 대신 new Date()을 사용하십시오.

new Date()은 날짜 객체를 반환하는 반면 Date()은 datetime의 문자열 표현을 반환합니다.

날짜 객체를 MongoDB에 보내야만 날짜 객체를 ISODate으로 변환 할 수 있습니다.

+0

아니요, 작동하지 않았습니다! –

+0

@AkashDivakarGore'new Date()'함수에 전달한 문자열에 올바른 구문을 사용하면 * 작동합니다 *. –

+0

@VinceBowdren : 나는 startdate = new Date (2016-11-21T00 : 00 : 00Z)를 시도하고 또한 startingdate = new Date (2016-11-21)를 시도했습니다. 전달할 문자열에 대한 올바른 구문을 강조 표시 할 수 있습니까? ? 감사! –