这是我的桶中的文档结构。
{
"_class": "com.link.pojo.Event",
"year": "2015",
"start": 1440115200000,
"name": "129811",
"domain": "5000$3$2015$Exhibition",
"sporttype": "Indoor",
"eventtype": "Exhibition",
"end": 1440151199000,
}
在这里开始平均事件开始日期,类型是util Date。示例日期格式值为2015-08-10T09:45:00.000+0000
现在我想使用couchbase视图获取当前日期开始的所有文档。这是我试图获得它的方式,
// Create the CouchbaseClient Query object & Pass the time range to fetch events.
Query query = new Query();
// Filter on the start date and this value has to be within below given range params.
query.setIncludeDocs(true);
query.setDescending(true);
query.setInclusiveEnd(true);
query.setRange(ComplexKey.of(""), ComplexKey.of(""));
List<Event> eventList = `eventService.getEventsByCurrentDate(query);`
我应该在query.setRange();
函数中传递什么值。我需要实现的观点是什么?
function (doc, meta) {
if (doc._class == "com.link.pojo.Event") {
emit(doc.start, null);
}
}
答案 0 :(得分:2)
你做错了:]
查询只是一种过滤视图某些结果的方法。首先,定义一个视图 - 然后确定需要使用哪个查询来获得所需的内容。
首先在Couchbase UI中创建视图。
然后查看视图的结果 - 再次使用couchbase UI。应该有一个链接,您可以单击该链接以在浏览器的新选项卡中查看视图的结果。
然后,您可以将网址编辑为&#34;查询&#34;你的观点的结果。添加&#34;&amp; key = 123以获得该密钥。 SetRange只是意味着 - &#34;获取属于该数字范围的键&#34;。
在您的情况下,因为您的视图会发出&#34; start&#34;字段,您的密钥(或范围)必须采用相同的格式。所以像&amp; key = 1440115200000
我希望这会有所帮助。