我有一个包含照片的couchdb数据库,每张照片有一个文档。我想创建一个基于时间接近度的照片分组视图,即在彼此30分钟内创建的分组照片。如何在一段时间内选择couchdb中的文档?
0
A
回答
0
您的js将是您的地图功能,并且在Ektorp中,您将写入js map函数并将其作为字符串传递给我之前发布的代码。您可以将当前时间作为milis,减去30分钟,并获取所需的时间差(以java计算)。然后你将这个毫秒时间传递给javascript。记住你的javascript函数是一个字符串,所以你只需要将所需的差异追加到该字符串。你可以编写如下:
String javaScriptFunction = "
function(doc) {
if(doc.created >" + timeDifferenceIneed + "){
emit(doc.photoName, doc);
}
} " // of course ignored exiting characters
所以上面的,timeDifferenceIneed你现在的时间--30分钟。然后将此字符串传递给上方并获得查询结果
1
如果您的照片文档具有可在JavaScript中正确整理的“timestamp”元素,则可以创建一个简单的地图,将时间戳作为关键字发送,然后计算窗口你想查询。
简单查看地图应该是这样的:
"mapname": "function(doc) { emit(doc.timestamp) }"
一旦你知道你专注于照片的时间戳,你就必须产生startkey和endkey参数设置为你想要的窗口。
CouchDB将返回具有您需要为照片文档构建URL的_id值的行。
因此,对于具有的1332927024时间戳的图像,您的查询将
http://couchdb/db/_design/designdocname/_view/mapname?startkey=1332926124&endkey=1332927924
相关问题
- 1. 的CouchDB/PouchDB选择已删除文档
- 2. 如何保证CouchDB文档中字段的唯一性?
- 3. 如何在mysql中选择一段时间?
- 4. 如何在couchdb中更新文档记录/字段
- 5. 如何选择在一段时间内每月工作的用户?
- 6. 如何在我选择的一段时间内刷新wordpress插件?
- 7. 如何在couchdb文档中生成部分唯一且顺序的字段?
- 8. 如何在一段时间内创建一段时间在MDX中测量?
- 9. 选择CouchDB中没有某些键的文档
- 10. 如何清除couchDB文档
- 11. 如何更新CouchDB中的文档
- 12. 在一组文档中选择RavenDB字段的最小值
- 13. 在给定时间段内选择唯一登录
- 14. 如何用空的“”文档ID删除一个couchdb文档?
- 15. 子选择的时间段
- 16. 在CouchDB中更新文档
- 17. 在视图中添加上次访问时间到CouchDB文档
- 18. SQL选择一段时间内活动的最大激增
- 19. 在MongoDB的一段时间内搜索一定数量的文档
- 20. jquery onchange选择值有一段时间
- 21. 如何在一段时间内找到Facebook页面的文章?
- 22. 选择一段时间的日期选择器
- 23. 如何支持时间段找到MongoDB中收集文档时?
- 24. CouchDB文档ID是如何计算的?
- 25. 如何存储CouchDB文档的投票?
- 26. 如何在录制的嵌入文档的时间范围内找到文档?
- 27. 如何检查当前时间是否在一段时间内?
- 28. 在CouchDB中获取具有特定字段值的文档?
- 29. 如何在一段时间
- 30. 如何在一段时间
我明白了。每次执行查询时都会创建一个临时视图。这将工作,但将是昂贵的。请参阅:http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Concept – user1294586 2012-03-27 21:51:41
不是临时视图,它是永久性视图并以文档形式存储。 – anvarik 2012-03-27 22:10:57