问题标签 [n1ql]

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.

0 投票
1 回答
332 浏览

couchbase - Couchbase:使用索引查询 Nickel,但索引不会立即更新

我在这里遇到一个问题,我正在使用 Nickel 查询 Couchbase,我的查询是

但是在这里我得到的值没有更新,但是如果我在某个时间后提出相同的请求,它会给我想要的输出。

我用来制作索引的查询是

ts在哪里TimeStamp

那么您能否告诉我是否有一种方法可以始终获取更新的数据?

提前致谢。任何类型的帮助表示赞赏。

0 投票
2 回答
321 浏览

couchbase - 如何在 Couchbase N1QL 中设置 CBAUTH_REVRPC_URL?

使用 4.0。
我跑了“./cbq-engine -datastore= http://localhost:8091 ”。
日志中的第一条消息是:
“level=ERROR msg= Unable to initialize cbauth. Error Unable to initialize cbauth's revrpc: cbauth environment variable CBAUTHREVRPC_URL is not set”。
事实上,当我尝试运行 CREATE PRIMARY INDEX 时,我收到一个错误:
“索引器未实现 GSI 可能未启用”

0 投票
1 回答
33 浏览

couchbase - 如何投影到对象中

如果我有这样的查询

结果是这样的:

但是如果我想要这样的东西怎么办:

我想结果为:

0 投票
1 回答
475 浏览

couchbase - 查询一个简单的字符串数组

我有一个这样的简单查询:

它给了我json:

但我需要的是一个扁平的字符串数组:

我怎样才能做到这一点?

0 投票
1 回答
390 浏览

python - Async N1QL couchbase query using Twisted API for Python SDK

I'm writing Tornado application and need to make async N1QL queries. For map-reduce views using txcouchbase (twisted couchbase library) along with tornado-twisted bridge worked fine, but I can't do the same for N1QL queries.

After executing following query res object is not iterable and looks like this. res object

Seems that _BatchedRowMixin__rows field contains the results of the query, but I'm not sure this is the right and stable way of making async N1QL queries. Are there any other options?

0 投票
1 回答
633 浏览

couchbase - 使用 n1ql 获取嵌套数组中的不同项

我有这样的文档结构

我找到了使用 map 和 reduce 功能的方法。

http://guide.couchdb.org/draft/cookbook.html

但是,如果我想使用 n1ql 执行相同的查询,我该怎么做?

提前致谢。

0 投票
2 回答
137 浏览

couchbase - 传递给查询的多个未知数量的字段

是否可以创建适用于不同类型文档的通用查询?例如,我有“案例”和“工厂”,它们有不同的字段集。例如:

是否可以创建一个通用查询,我将在其中传递实体的类型(案例或工厂)和其他参数,并根据这些参数过滤结果?我当然可以使用 javascript 视图,但它不允许我按多个字段进行过滤。假设我想获取位于委内瑞拉的所有工厂,工人人数在 20 到 55 之间。

我从这个开始,但后来我卡住了:

如何传递多个谓词并让查询识别它们?

我当然可以列出这样的字段:

但是之后

  • 我将不得不为每个实体创建一个单独的查询
  • 即使那样它也不能解决我的问题 - 我不知道如何忽略谓词,如果下次没有通过 $workers_min 和 $workers_max 怎么办,这是否意味着我必须为每个谓词(列)创建一个查询?
  • 出于安全原因,我无法生成自由格式的查询并将它们传递给 Couchbase 服务器,所有查询都已存储在数据库中,我们的 api 只是从文档中提取它们并执行它们
  • 我认为可以为未定义的参数(例如 WHERE $location IS MISSING OR entity.location == $location或类似的东西)创建一个“短路”的查询

是否有可能创建一个能够根据任意参数有效过滤和排序数据集的查询?还是没有办法?

0 投票
1 回答
216 浏览

couchbase - 如何将 NULL 命名参数传递给 n1ql 查询?

我正在使用 .NET SDK。

将 null 作为字符串传递不起作用,传递实际的 null 值会引发以下异常:

我正在尝试使用可选的搜索参数构建一个查询,其中我为用户未决定搜索的参数传递空值。

0 投票
1 回答
94 浏览

couchbase - Couchbase 4.0 数据建模

我有一个包含 User、Message 和 MessageFeatures 等实体的应用程序。每个用户可以有许多消息,每个消息都有一个 MessageFeatures 实体。目前关系模型表示为:

最重要的查询是:

  • 获取用户的所有消息
  • 获取用户的所有消息功能
  • 通过 uuid 获取消息
  • 通过 uuid 获取/更新消息功能
  • 通过消息 uuid 获取消息功能

不太重要(可能很慢)的查询如下:

  • 获取 user_id = someuuid 和 featureX = value 的消息特征
  • 获取 featureX = value 的所有/计数用户 uuid
  • 更新消息功能集 featureX = newValue 其中 featureX = oldValue

在评估 couchbase 时,我无法得出正确的数据模型。我不认为将用户的所有消息和消息功能放在单个文档中是一个好主意,因为大小会不断增加,并且根据当前数据,对于 2 年的数据,它很容易在 4-5 MB 的范围内。同样为了保持一致性,我一次只能更新一个消息功能,因为原子性是每个文档。

如果我不将它们放在单个文档中,它们将分散在集群中,并且诸如获取用户的所有消息/消息特征之类的查询将导致分散和聚集。

我已经检查了全局二级索引和 N1QL,但即使我索引消息的 user_uuid 字段,它也只会帮助获取该用户的 message_uuids,加载所有消息将导致分散和聚集......

有没有办法强制将 user_uuid 的所有消息、消息特征映射到同一个物理节点,而不将它们嵌入到同一个文档中,比如 redis 中的主题标签。

0 投票
1 回答
213 浏览

couchbase - NoSQL 查询语言,UnQL?N1QL?CouchBase,C 嵌入式库

我正在调查 DocumentDB,并且正在检查查询端选项。我知道到目前为止还没有任何东西可以确定,但是有几个问题我还没有看到完全回答。

  1. Couchbase 退出了 UnQL?然后开发了N1QL?这是否意味着他们将 N1QL 视为更合适的不同查询语言?还是它扩展了 UnQL 中设置的内容?有什么东西正式标准化了吗?

  2. 任何人都可以实施 N1QL 吗?它是一个开放的事实标准,还是以某种方式获得专利的东西。