首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CouchDB按日期筛选某些日期

CouchDB按日期筛选某些日期
EN

Stack Overflow用户
提问于 2019-08-29 09:40:20
回答 1查看 49关注 0票数 0

我试图在特定日期之间从CouchDB获取数据,其中大多数都很好,但是某些日期总是被跳过(即使这些日期在某个日期范围内),而且我也没有得到这些日期的任何数据。

但是,当我只选择不能在范围内得到的特定日期时,我就会得到结果。我的卷发是完全相同的范围和具体的日期选择。

CouchDB函数调用(by_date)

代码语言:javascript
复制
  if(doc.type === 'employee')
  emit(doc.year + "-" + doc.month + "-" + doc.day, 
  {name:doc.name,
  email:doc.email, 
  department:doc.department,
  comment:doc.comment,
  nominator:doc.nominator, 
  values:doc.values, 
  type:doc.type, 
  team:doc.team
  });
}

卷曲用于距离

代码语言:javascript
复制
http://some-domain/some-database/_design/nominees/_view/by_date?&&startkey="2019-6-1"&&endkey="2019-8-16"

特定日期的卷曲

代码语言:javascript
复制
http://some-domain/some-database/_design/nominees/_view/by_date?&&startkey="2019-8-2"&&endkey="2019-8-2"

除了2019年-8-2年的数据,卷曲返回所有数据,即使是在范围内。

特定日期的Curl返回2019-8-2年的数据。

我希望能在一个选定的范围内得到这个日期,但我不知道这里的问题是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-30 09:46:04

看起来你在把日期作为字符串进行比较,但没有得到正确的结果。

这意味着"2019-08-2“< "2019-8-2",这不是你想要的。

您需要正确地将月份和天数为零,或者将日期转换为数字,就像划时代的秒一样,或者发出一个向量键:

代码语言:javascript
复制
emit([doc.year, doc.month, doc.day], ...);

(前提是.year .month .day是ints,而不是原始文档中的字符串)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57707351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档