我没有找到任何关于在couchDB视图的映射函数中使用的Date对象的文档。我遇到了一些奇怪的行为,我需要一些了结。
以下代码:
emit(doc.type, { date: new Date() })
输出:
{ date: "2012-03-10T18:57:32.408Z" }
然而使用:
emit(doc.type, { date: new Date("1984-12-10") })
输出:
{ date: "Invalid Date" }
那么couchDB在这里使用的Date对象是什么呢?它不能是JavaScript版本,因为新的Date("1984-12-10")在那里工作。然而,couchDB预计日期为"1984/12/10"格式。
有人知道关于这个问题的任何信息吗?
CouchDB的视图使用SpiderMonkey进行解析。我相信CouchDB 1.1.1增加了对SpiderMonkey(1.8.5)的新版本的支持。很可能你仍然在运行一个旧版本的SpiderMoney,它没有像你预期的那样正确处理Date()
。我对你的平台一无所知,所以我不能推荐升级路径,但我相信这就是你正在经历的。