Couchbase文档日期搜索 - DateTime.Now()

Rob*_*ger 3 couchbase

我在CB有一份文件,有两个日期,一个开始日期和一个结束日期.比方说,产品的价格折扣.从今天开始10%折扣,下周五结束.如何从CB获得今天有效折扣的所有文件?

我提出了一个观点,并在其中有以下内容:

var dt = new Date();
Run Code Online (Sandbox Code Playgroud)

这是今天的日期.然后我可以做一个简单的事情

if(doc.FromDate < dt && doc.ToDate > dt){ emit([ ..... ]);
Run Code Online (Sandbox Code Playgroud)

这会根据我的需要过滤文档.但...

这是一个很好的方法重新查看和索引更新?由于日期发生了变化,索引会每天更新吗?只是想了解CB在这方面的工作

这种搜索的最佳方法是什么?如果不可能请告诉我!

干杯

知更鸟

注意:请注意,这里这里的问题不是这样的

Tug*_*all 5

我们在这里澄清一下:

  • map()函数用于创建/更新磁盘上的索引,这只是在"文档"保存在磁盘上之后发生.这就是为什么在map中使用date.now()减少并不是很有意义.

  • 所以你要做的是发出日期例如emit(dateToArray(doc.startDate));

  • 然后,当您查询视图(索引)时,可以使用startkey和endkey来执行范围查询.

&startkey = [2013,4,16]&endkey = [2013,4,24]