我对 Couch DB(所有版本 1.01 - 1.31)中的视图有疑问。
我的数据如下所示:
{
"_id": "9a12b7fa4b886640be06f74b814306a6",
"_rev": "1-420c723f8c8f7921ead3df04bfc9ade5",
"client_id": "008",
"day": 1,
"month": 1,
"year": 2013,
"comment": "cool"
}
我想查看客户在一段时间内完成的所有交易,比如说 1 个月:
所以我的地图功能是这样的:
function(doc) {
emit([doc.client_id, doc.day,doc.month, doc.year], doc);
}
所以我用 startkey 和 endkey 查询
http://localhost:5984/test/_design/clients/_view/by_cid_day_month_year?startkey=[%22007%22,1,1,2013]&endkey=[%22007%22,32,1,2013]
但是,我没有从 1 月份获取所有带有 client_id = 007 的文档,而是获取了与 007 匹配的所有记录。
所以一定有一些我误解的东西。我的查询有什么问题?它应该怎么看?
我的想法是我也可以只查看特定日期的日志,或者说从 1 月 1 日到 1 月 6 日。
我尝试将日、月和年的键设为字符串,但结果总是相同,甚至有时很奇怪,就像上面的例子一样,我会在 9 月 (9) 找到一条记录,但如果我去四月 f.ex. 我得到所有记录。
我不明白这一点。这应该很简单。