我有一个名为“云”范围内的“书籍”的沙发库集合。这是文档结构 -
{
"doc_type": "book_item",
"plumap": {
"000": {
"title": "To Kill a Mockingbird"
},
"000": {
"title": "Pride and Prejudice"
},
}
}
我想按书名搜索书籍。该查询正在 couchbase 服务器中运行。
SELECT * FROM bucket.cloud.books AS d WHERE d.doc_type = 'book_item' AND ANY v IN OBJECT_VALUES(d.plumap) SATISFIES v.title LIKE '%mock%' END LIMIT 5
我想在 Android 上使用适用于移动设备的 SQL++ 执行相同操作,但收到此错误“字符 96 附近的 N1QL 语法错误”,即 OBJECT_VALUES 后面的括号“(”。如何修复语法?
或者如果可以通过 QueryBuilder 获得它也可以。
Couchbase Lite 仅支持 Server N1QL 的一个子集,不幸的是,它不包含
OBJECT_VALUES
功能。
我相信你可以只使用
ANY v IN d.plumap
,它会迭代这些值。