我尝试从couchdb显示应用程序的日志条目 - 每个日志条目包含时间戳,日志标记和客户端的远程IP,我的地图功能是:
{
"_id": "_design/log",
"language": "javascript",
"views": {
"browse": {
"map": "function(doc){ if (doc.type=='log') {emit([doc.date,doc.tag,doc.ip], doc);}}"
}
}
}
现在如何获取按日期排序的指定IP(标记)的日志条目?
已经尝试过以下变体:/_design/log/_view/browse?startkey = [“info”,“8.8.8.8”]但没有成功。
答案 0 :(得分:0)
您的开始键需要3个元素:日期,标签和IP。
您的不成功查询在开始键中只有2个元素。
有一些复合键的文档。在使用的示例中,它们具有年,月和日的不同键。您可以在本书中找到示例:http://shop.oreilly.com/product/0636920018247.do
答案 1 :(得分:-1)
地图功能:
function(doc) {
if (doc.type === 'log') {
emit([doc.tag, doc.ip, doc.date], 1);
}
}
查询参数(正确的网址编码):
?startkey=["info","8.8.8.8"]&endkey=["info","8.8.8.8",{}]&include_docs=true
结果按日期排序,因为标签和IP是固定的。