我的错误/误解或此Couchbase N1QL教程中的错误

时间:2014-09-13 10:26:37

标签: couchbase n1ql

我正在查看N1QL教程here

为什么这个查询

SELECT fname, email, children
    FROM tutorial 
        WHERE LENGTH(children) > 0

返回一个空数组?

{
  "resultset": []
}

3 个答案:

答案 0 :(得分:1)

N1QL中有一个LENGTH函数,但它只能用于字符串。对于Arrays,使用ARRAY_LENGTH,对象(地图)使用OBJECT_LENGTH。如果您不确定类型,那么POLY_LENGTH可用于任何数据类型。

答案 1 :(得分:1)

答案 2 :(得分:0)

这是因为N1QL中没有“LENGTH”数组函数(参见Array Functions)。也许这是教程中的一个示例错误。请改用ARRAY_LENGTH。 e.g。

SELECT fname, email, children
    FROM tutorial 
    where ARRAY_LENGTH(children) > 0