我有一个蒙戈数据库建立。 创建MongoDB中一个新的日期对象创建ISO格式如日期对象: ISODate("2012-07-14T00:00:00Z")
我使用Node.js的连接到数据库蒙戈和查询数据库。 当过我创建一个新的Date对象( new Date()
在javascript其创建JavaScript日期对象如: Wed Mar 06 2013 14:49:51 GMT-0600 (CST)
有没有一种方法使用JavaScript创建一个ISO Date对象,这样我可以直接发送对象到MongoDB的和执行日期查询
我能够在MongoDB中执行以下查询
db.schedule_collection.find({
start_date: { '$gte': new Date(2012, 01, 03, 8, 30) }
})
但不能执行时,我在javascript日期对象发送从节点
MongoDB的食谱提供了一个示例蟒查询使用日期时间模块蒙戈数据库,但不提供任何示例使用JavaScript。
任何帮助表示赞赏。 请多关照
尝试使用了ISO串
var isodate = new Date().toISOString()
参见: 在MDN方法定义 。
在节点上,蒙戈司机会给你一个ISO字符串,而不是对象。 (例如: Mon Nov 24 2014 01:30:34 GMT-0800 (PST)
所以,简单地将其转换为一个JS日期: new Date(ISOString);
试试下面:
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 */
});
我解决了这个问题实例在node.js的一个新的Date对象:...
在Javascript中,发送日期()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来创建一个的NodeJS新的Date对象:..
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。