Подтвердить что ты не робот

Создание объекта даты ISO в javascript

У меня установлена ​​база данных mongo. создание нового объекта date в mongoDb создает объект даты в формате ISO например: ISODate("2012-07-14T00:00:00Z")

Я использую node.js для подключения к базе данных mongo и запроса базы данных. когда когда-либо я создаю новый объект даты (new Date()) в javascript, он создает объект даты javascript, например: Wed Mar 06 2013 14:49:51 GMT-0600 (CST)

Есть ли способ создать объект даты ISO в javascript, чтобы я мог отправить объект непосредственно в mongoDb и выполнить запрос даты

Я могу выполнить следующий запрос в mongoDb

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

но не может выполнять, когда я отправляю объект даты javascript из node

В кулинарной книге mongodb представлен пример python для запроса базы данных mongo с использованием модуля datetime, но он не предоставляет никакого примера использования javascript.

Любая помощь приветствуется. Поблагодарив вас заранее

4b9b3361

Ответ 2

В node драйвер Mongo предоставит вам строку ISO, а не объект. (например: Mon Nov 24 2014 01:30:34 GMT-0800 (PST)) Итак, просто преобразуйте его в js Date: new Date(ISOString);

Ответ 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

Я решил эту проблему, создав новый объект Date в node.js:...

В Javascript отправьте Date(). toISOString() на nodejs:...

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 ) { ... });

Затем используйте ISOString для создания нового объекта Date в nodejs:..

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.