这是我的观点:
function(doc) {
if(doc.type=="mail" && doc.user_id == 116 && doc.fid == 81 ){
emit([doc.time], doc.msg);
}
}
我默认存储JS Date(),这里是按降序排序的doc列表。
"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)"
是最后一项。我该如何解决?谢谢!
答案 0 :(得分:2)
我认为您在数据库中的日期将被存储为字符串。如果你进入蒲团并查看页面的来源,你应该能够确认这一点。
在过去,我已经看到将日期存储为unix时间戳,以便按整数值进行排序。如果您确实将数据存储在那里作为字符串,那么文档中的这一部分可能会有所帮助:http://wiki.apache.org/couchdb/View_collation#Sorting_by_Dates