Couchbase N1qlQuery:使用select中的键值

时间:2016-11-28 06:46:50

标签: couchbase n1ql

我有这样的疑问:

select otherDocKey from bucket use keys '1234'
update bucket use keys 'hear I need the result of the first query' set ...

我想做那样的事情:

update bucket use keys (select otherDocKey from bucket use keys '1234') set kuku = 3

但我得到的回应是:

[ { "code": 5030, "msg": "Missing or invalid primary key map[otherDocKey:\"56443\"] of type map[string]interface {}." } ]

有一种方法可以在一个查询中执行此操作吗?

我正在使用couchbase版本4.5

1 个答案:

答案 0 :(得分:1)

查询的问题是嵌套子查询返回json结果。即,查询:

select otherDocKey from bucket use keys '1234'

将返回如下结果:

{"otherDocKey":"This_is_the_key_for_the_other_doc"}

但是你不想要json,你只需要json的值。为此,您需要使用'选择原始'。如,

select raw otherDocKey from bucket use keys '1234'

这应该给你一个看起来像的结果:

["This_is_the_key_for_the_other_doc"]

当子查询返回那种结果时,"使用键"应该正常工作。