CouchDB javascript版本:日期问题
我使用的是从MacOSX10.6上下载的couchdb,它不能正确处理日期。例如,以下视图(仅地图)为日期对象提供emitCouchDB javascript版本:日期问题,javascript,couchdb,Javascript,Couchdb,我使用的是从MacOSX10.6上下载的couchdb,它不能正确处理日期。例如,以下视图(仅地图)为日期对象提供emit{}: function(doc) { emit(new Date(), null); } 日期的变化也是一样:日期(“2000-10-10”),日期(“2000/10/10”),和日期(“2000/10/10”)都产生{} 我的猜测是这与我的javascript版本有关,因为Dates的工作方式与我在Linux机器上预期的一样。不过,当我从命令行运行js时,它对D
{}
:
function(doc) {
emit(new Date(), null);
}
日期的变化也是一样:日期(“2000-10-10”)
,日期(“2000/10/10”)
,和日期(“2000/10/10”)
都产生{}
我的猜测是这与我的javascript版本有关,因为
Date
s的工作方式与我在Linux机器上预期的一样。不过,当我从命令行运行js时,它对Date
s的行为完全不同。如果这是一个版本问题,那么我如何知道哪个版本的javascript CouchDB正在运行,如何更改它,以及应该运行哪个版本?我猜由于某种原因日期的toString()
没有被调用,所以它将{}
作为javascript对象的通用表示
不确定您期望的结果,但您可以使用以下选项之一:
emit( (new Date()).toString(), null ); // Tue Jan 04 2011 13:24:48 GMT-0600 (CST)
emit( (new Date()).getTime(), null ); // 1294169100617
谢谢,这正是问题所在。如果我调用(新日期(“2010/01/04”).toString()(使用斜杠而不是连字符),则它可以正常工作。你知道如何更改js Coach使用的版本,以及最好/最新/标准的版本是什么吗?@Danny:对不起,我不知道版本是什么。我甚至不知道他们用的是哪种翻译。如果很容易改变版本,我会感到惊讶。不过,我对CouchDB的经验有限,只是短暂地启动了CouchDB以确保此解决方案有效。