1

这是我的看法:

function(doc) {
    if(doc.type=="mail" && doc.user_id == 116 && doc.fid == 81 ){
        emit([doc.time], doc.msg); 
    }
}

我默认存储 JS Date() ,这是按降序排序的文档列表。

"Wed May 09 2012 00:16:02 GMT+0800 (SGT)"
"Wed May 09 2012 00:10:45 GMT+0800 (SGT)"
"Wed May 02 2012 00:59:47 GMT+0800 (SGT)"

"Tue May 08 2012 23:55:54 GMT+0800 (SGT)"
"Tue May 08 2012 21:59:42 GMT+0800 (SGT)"

"Tue May 01 2012 23:11:57 GMT+0800 (SGT)"
"Tue May 01 2012 19:00:37 GMT+0800 (SGT)"
"Tue May 01 2012 18:59:55 GMT+0800 (SGT)"

**"Sun May 13 2012 16:02:58 GMT+0800 (SGT)"**
"Sun May 13 2012 16:01:16 GMT+0800 (SGT)"

如您所见,日期未正确排序并且"Sun May 13 2012 16:02:58 GMT+0800 (SGT)"是最后一个条目。我该如何解决?谢谢!

4

1 回答 1

2

认为您在数据库中的日期将被存储为字符串。如果您进入蒲团并查看页面的来源,您应该能够确认这一点。

在过去,我看到日期存储为 unix 时间戳,以便轻松按整数值排序。如果您确实将数据作为字符串存储在其中,则文档中的此部分可能会有所帮助:http ://wiki.apache.org/couchdb/View_collat​​ion#Sorting_by_Dates

于 2012-05-13T09:03:56.923 回答