0

我尝试从 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"] 没有成功。

4

2 回答 2

0

您的开始键需要 3 个元素:日期、标签和 ip。

您不成功的查询在开始键中只有 2 个元素。

有一些关于复合键的文档。在所使用的示例中,它们具有不同的年、月和日键。您可以在本书中找到示例:http: //shop.oreilly.com/product/0636920018247.do

于 2012-05-17T12:22:13.773 回答
-1

地图功能:

function(doc) {
  if (doc.type === 'log') {
    emit([doc.tag, doc.ip, doc.date], 1);
  }
}

查询参数(正确的 url 编码)

?startkey=["info","8.8.8.8"]&endkey=["info","8.8.8.8",{}]&include_docs=true

结果按日期排序,因为 tag 和 ip 是固定的。

于 2012-05-18T04:44:59.240 回答