问题标签 [couchbase-view]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 基于时间的 Couchbase 查询
我一直在试图弄清楚如何根据时间戳取回数据。基本上我想根据时间戳字段查询 100 个文档。100 个文档应该比我传递的时间戳更早。此外,我想创建一个刷新,我可以在其中传递时间戳并获得 100 个更新的文档。显然这里的逻辑会有所不同,但很难弄清楚 Couchbase 如何实现这一点。
这是我到目前为止所拥有的:
我的观点,如您所见,我还需要使用复杂的密钥,因为我不仅要检查日期,还要检查我的可见性字段。我在视图的减少部分中没有任何内容。
我正在使用 java 客户端进行查询,限制设置为 2 进行测试。这里奇怪的是 setDescending 必须为假才能得到任何东西。另外,无论我通过哪个日期,我总能得到结果。我想要的预期行为是传递一个日期,并且只获得等于或早于该日期的结果。
编辑:
本质上,我从 Couchbase 中寻找的内容类似于 Facebook、Pintrest 等移动应用程序。在用户刷新时的给定时间戳上,我想获得更新的东西。当用户滚动时,我想让下一组超过特定日期。
** 更新 **
所以这个问题已经解决了,但要进一步调查。ComplexKey 将我们的日期数组变成“[2013,11,8,20,0,0]”,而不是离开它 [2013,11,8,20,0,0]。打算进一步调查。目前的解决方法不是使用 ComplexKey,而是创建我们自己的复杂密钥并将其作为密钥传递给 startKey。
php - 从 PHP SDK 设置后 Couchbase 视图未更新
我正在开发一个应用程序,我主要使用视图来获取数据。
我尝试做的是存储文档,重定向并检查存储的文档是否可用(这是通过视图完成的,因为我不是在寻找文档键,而是在寻找不同的值)。
我在用什么?
Debian Wheezy 上的 PHP(5.4.21)、Couchbase(2.1.1) 和 Couchbase(1.1) 的 PHP SDK。
那么发生了什么?
我使用 API 函数存储一个文档set($id, $document)
,然后使用 API 函数触发视图的更新view($designDocument, $viewName, $options)
,其中$options
包含至少'stale'=>false
,然后重定向到另一个页面,我在其中检查新添加的文档/或只是想显示它。
但是新添加的文档并不总是显示出来,或者并不总是通过我的存在检查。
按照我更详细地使用的代码:
如代码所示,我将 stale 参数设置为 false,以确保更新索引。
但它似乎不起作用。
在写这个问题之前,我查看了 Couchbase 论坛中的一些帖子、Stackoverflow 上的帖子、Couchbase 的 PHP SDK 文档和 Couchbase 的一般文档。
所以我想我理解陈旧的应该如何工作以及似乎有什么限制。
如果我认为陈旧的假设有效,但仅当文档不再在内存中但正在写入磁盘(或已经写入磁盘)时是错误的,请随时纠正我。
由于我试图做的事情不起作用,我尝试了不同的事情,这在一些解释和文档中也提到过,以帮助实现我想要的结果。
例如,我认为如果默认行为stale
is update_after
,然后触发两次索引更新,就可以解决问题。
好吧,它没有。
其他值得注意的事情是
我在将文档set
分别存储后直接使用了这些,并且出于绝望的组合。也没有做到这一点。
我假设这里的错误是,PHP SDK 要么以某种方式不通过stale=false
参数,要么 keyDurability没有做它应该做的事情。stale=false
当我在检查新创建的文档时 也传入时,当然两者(触发器和检查)都适用于同一个存储桶和视图。
或者我在没有注意到的情况下做了一些可怕的错误。
如果有人能指出我正确的方向并希望能解释发生了什么问题,我会很高兴,因为我无法理解正在发生的事情。根据我的理解,一切都应该keyDurability
至少stale
可以工作。
couchbase - Couchbase - 返回不同的值
我有以下格式的小型 JSON 文档列表:
我的地图功能是这样的:
结果,我得到了所有事件的列表,包括重复事件。如何仅将结果集减少为不同的值?
谢谢
couchbase - Sorting and filtering multiple attributes in Couchbase
I have a document with several different attributes. In my app I want to do filtering on one of the doc attributes and possibility sorting by any of the other attribute.
i.e
{
"accountId": "qa32176148",
"id": "122230310111",
"rtSessionId": "qa321761484294973207",
"sessionStartTime": 1387705538426,
"visitorLastUpdateTime": 1387705717094,
"countryCode": "US",
"state": "NY",
"city": "New York",
"country": "United States",
"organization": "Google",
"ipAddress": "216.239.39.99",
"agentNickName": "john"
}
- I want to filter by each one of these fields, Should I create a views for each one of the fields ?
- (as an example) Can I filer on state and sort by city?
couchbase - Couchbase Custom Reduce 行为不一致
我正在使用couchbase 2.0.1版-企业版(build-170)和java-client 1.2.2版
我有一个自定义reduce函数来获取用户的最后一个活动
来自java客户端的响应不一致有时我得到正确的响应并且大多数时候我会针对有效键获得空值。即使是 Stale.FALSE 也无济于事!
查看的记录数约为 1 百万,查询的结果集约为 1K 键值对。我不确定这里可能是什么问题。如果有人可以提供帮助,那就太好了。
减少函数如下:
查看查询:
couchbase - 如何在couchbase的reduce函数中访问json值?
我在 Couchbase 中的 reduce 函数[仅用于测试]:
结果在这里
我想在 reduce 中获取单个值以进行进一步处理,因此当我尝试获取 doctype 的值时,即使应该有“closed_auctions”,values[0].doctype
它也会返回。null
问题是什么?如何在 reduce 函数中获取单个值(我的意思是字段值)。
couchbase - 使用带有布尔参数的 couchbase 视图的问题
我在使用带有布尔键的沙发基础地图功能时遇到问题。
我写了一个带有布尔参数的映射函数,但是当我尝试使用这个函数传递值“false”作为键时,函数什么也不返回
样本文件:
地图功能:
http://localhost:8092/default/_design/tickets/_view/by_presentation_and_isSold?key=[false,"presentation_24e53b3a-db43-4d98-8499-3e8f3628a9c6"]
结果:
couchbase - How to get the document using view in couchbase
I have a requirement wherein I have get the document from couchbase.
Following in the Map function that I am using for the same -
There is no reduce function. Also following is my java code to get the document -
And the data that I have in couchbase is key - "122" and value - "true". But for some reason , I do not get any rows in the ViewResponse. What is going wrong can anyone help?
couchbase - 多节点 Couchbase 集群中的视图解释
我是 Couchbase 的新手。
我有一个 2 节点 Couchbase 环境,我有 20 个文档(我的应用程序中的文章)存储在一个存储桶中。我相信有 5 篇文章实际存在于节点 1 中,而其他的则存在于节点 2 中,因为当我关闭节点 1 时,我的应用程序列表中只有 15 篇文章。
我的应用程序中有一个“按日期排序”列表,我从这样的视图中得到结果:...emit(doc.postdate)...
现在,由于某种原因,我的应用程序中的列表总是不正确,因为某些文章的位置不正确(未按发布日期排序)。我唯一的猜测是:节点 1 有 5 篇文章的索引,并且节点 2 有其他 15 个的索引,它们都在自己的索引中正确地按 postdate 字段排序,但是在我的应用程序(使用 .NET 客户端库)从节点 1 获得 5 和从节点 2 获得 15 之后,它只是'concat ' 两个列表变成一个完整列表 20,这就是为什么我在我的应用程序的文章列表中看到错误的顺序。
所以请告诉我的猜测是错误的和我对 Couchbase 服务器的误解,以及我得到错误排序列表的任何其他原因?从沙发库的架构角度来看的任何详细信息都将不胜感激。
首先十分感谢。
couchbase - Couchbase:查看或查询多个字段 (OR)
是否可以在 Couchbase 中查看 id=A OR name=A 之类的内容?
谢谢。
干杯,扬