我有一个mongo数据库设置。创建一个新的日期对象在mongoDb创建一个日期对象在ISO格式例如:ISODate("2012-07-14T00:00:00Z")
我正在使用node.js连接到mongo数据库并查询数据库。当我在javascript中创建一个新的日期对象(new Date()
)时,它会创建一个javascript日期对象,例如:Wed Mar 06 2013 14:49:51 GMT-0600 (CST)
有没有办法在javascript中创建一个ISO日期对象,这样我就可以直接将该对象发送到mongoDb并执行日期查询
我可以在mongoDb中执行以下查询
db.schedule_collection.find({
start_date: { '$gte': new Date(2012, 01, 03, 8, 30) }
})
但当我从节点发送javascript日期对象时无法执行
MongoDB Cookbook提供了一个使用Datetime模块查询Mongo数据库的Python示例,但没有提供任何使用JavaScript的示例。
任何帮助我都感激不尽。先谢了
5条答案
按热度按时间ajsxfq5m1#
尝试使用ISO字符串
另请参见:method definition at MDN。
r6l8ljro2#
请尝试以下操作:
3htmauhk3#
在节点中,Mongo驱动程序会给予你一个ISO字符串,而不是对象。(例如:
Mon Nov 24 2014 01:30:34 GMT-0800 (PST)
)因此,只需通过以下方式将其转换为js Date:new Date(ISOString);
hiz5n14c4#
这对我很有效:
新日期(2020,9,15,0,0,0,0)可能导致日期错误:我是指非ISO格式(记住javascript从0到11计算月份,所以10月份是9)
9fkzdhlc5#
我通过在node.js中示例化一个新的Date对象解决了这个问题:...
在Javascript中,将Date().toISOString()发送到节点js:...
然后使用ISOString在nodejs:..中创建一个新的Date对象。
注意:我用的是Express和Mongoskin。