Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CouchDB javascript版本:日期问题_Javascript_Couchdb - Fatal编程技术网

CouchDB javascript版本:日期问题

CouchDB 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

我使用的是从MacOSX10.6上下载的couchdb,它不能正确处理日期。例如,以下视图(仅地图)为日期对象提供emit
{}

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以确保此解决方案有效。