복붙노트

[MONGODB] 자바 스크립트의 ISO 날짜 객체를 생성

MONGODB

자바 스크립트의 ISO 날짜 객체를 생성

나는 몽고 데이터베이스를 설정해야합니다. MongoDB의 새로운 날짜 객체를 생성하는 ISO 형식의 날짜 객체를 생성 예 : ISODate ( "2012-07-14T00 : 00 : 00Z")

나는 데이터베이스를 몽고와 데이터베이스를 쿼리에 연결할 수 Node.js를 사용하고 있습니다. 내가 자바 스크립트에서 새 Date 객체 (새로운 날짜 ()) 만들 때 사상은 자바 스크립트 날짜 개체의 예를 만듭니다 수요일 월 06 2013 그리니치 표준시 14시 49분 51초-0600 (CST)

나는 MongoDB를 직접 객체를 보내고 날짜 쿼리를 수행 할 수 있도록 자바 스크립트의 ISO 날짜 객체를 생성하는 방법이 있나요

나는 MongoDB의에 쿼리 아래를 수행 할 수 있어요

db.schedule_collection.find({
  start_date: { '$gte': new Date(2012, 01, 03, 8, 30) }
})

내가 노드에서 자바 스크립트 날짜 개체에 보낼 때 만 수행 할 수 없습니다

MongoDB의 요리 책은 날짜 모듈을 사용하여 몽고의 데이터베이스를 조회하는 파이썬 예제를 제공하지만, 어떤 예를 사용 자바 스크립트를 제공하지 않습니다.

어떤 도움에 감사드립니다. 잘 부탁드립니다

해결법

  1. ==============================

    1.는 ISO 문자열을 사용하십시오

    는 ISO 문자열을 사용하십시오

    var isodate = new Date().toISOString()
    

    참조 : MDN에서 메소드 정의.

  2. ==============================

    2.노드에서 몽고 드라이버는 당신에게 ISO 문자열이 아닌 객체를 제공 할 것입니다. (예 : 월 2014년 11월 24일 그리니치 표준시 01시 30분 34초-0800 (PST)) 그래서, 단순히 의한 JS 날짜로 변환 : (ISOString) 새로운 날짜;

    노드에서 몽고 드라이버는 당신에게 ISO 문자열이 아닌 객체를 제공 할 것입니다. (예 : 월 2014년 11월 24일 그리니치 표준시 01시 30분 34초-0800 (PST)) 그래서, 단순히 의한 JS 날짜로 변환 : (ISOString) 새로운 날짜;

  3. ==============================

    3.아래 시도 :

    아래 시도 :

    var temp_datetime_obj = new Date();
    
    collection.find({
        start_date:{
            $gte: new Date(temp_datetime_obj.toISOString())
        }
    }).toArray(function(err, items) { 
        /* you can console.log here */ 
    });
    
  4. ==============================

    4.나는 Node.js를 새 Date 객체를 인스턴스화이 문제를 해결 ...

    나는 Node.js를 새 Date 객체를 인스턴스화이 문제를 해결 ...

    . 자바 스크립트에서 nodejs에 날짜 () toISOString ()을 보내 ...

    var start_date = new Date(2012, 01, 03, 8, 30);
    
    $.ajax({
        type: 'POST',
        data: { start_date: start_date.toISOString() },
        url: '/queryScheduleCollection',
        dataType: 'JSON'
    }).done(function( response ) { ... });
    

    그런 다음 nodejs에서 새 Date 객체를 생성하기 위해 ISO 문자열을 사용합니다 ..

    exports.queryScheduleCollection = function(db){
        return function(req, res){
    
            var start_date = new Date(req.body.start_date);
    
            db.collection('schedule_collection').find(
                { start_date: { $gte: start_date } }
            ).toArray( function (err,d){
                ...
                res.json(d)
            })
        }
    };
    

    참고 : 나는 Express 및 Mongoskin을 사용하고 있습니다.

  5. from https://stackoverflow.com/questions/15257911/create-an-iso-date-object-in-javascript by cc-by-sa and MIT license