N1QL选择文档ID和名为“id”{J}字段的JSON字段

时间:2016-01-06 14:48:32

标签: couchbase n1ql

我正在运行CB Server 4.1并通过couchbase-client Java SDK 2.2.1发送N1QL查询。

我的文档有文档ID(显然),但文档正文中嵌入了“id”字段。

现在我想选择两者。这些都不起作用:

SELECT id, meta(default).id, name FROM default
SELECT id AS 'internal_id', meta(default).id, name FROM default
SELECT id, meta(default).id AS 'docID', name FROM default

虽然这些工作:

SELECT id, name FROM default
SELECT id AS internal_id, name FROM default
SELECT meta(default).id, name FROM default

目前的限制是我不能将内部字段命名为“id”吗?

1 个答案:

答案 0 :(得分:1)

我刚试过SELECT id, meta(default).id AS docID FROM default(类似于你的第三个失败声明),它在Couchbase Server 4.0和4.1中工作(来自 cbq shell)。

但是我注意到你使用单引号,这对于别名是不正确的,所以也许是这样的?在检查errors()N1qlQueryResult的内容时,您收到的错误消息是什么?