You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Couchbase Lite的QueryBuilder查询嵌套JSON属性?

Couchbase Lite QueryBuilder 嵌套数据查询实现

针对你提供的文档结构,以下是三个查询场景对应的QueryBuilder实现(以Java为例):

场景1:查询user.id等于1的文档

Query query = QueryBuilder.select(SelectResult.all())
    .from(DataSource.database(database))
    .where(Expression.property("user.id").equalTo(Expression.intValue(1)));

场景2:查询user.metadata.anotherId等于2的文档

Query query = QueryBuilder.select(SelectResult.all())
    .from(DataSource.database(database))
    .where(Expression.property("user.metadata.anotherId").equalTo(Expression.intValue(2)));

场景3:查询user.metadata.aRandomArray包含WorksAsWell的文档

使用Couchbase Lite的ArrayFunction.contains方法判断数组是否包含指定元素:

Query query = QueryBuilder.select(SelectResult.all())
    .from(DataSource.database(database))
    .where(ArrayFunction.contains(
        Expression.property("user.metadata.aRandomArray"),
        Expression.stringValue("WorksAsWell")
    ));

关键说明

  • 嵌套属性直接通过.连接完整路径即可访问,比如user.metadata.anotherId
  • 数组包含判断必须使用ArrayFunction.contains,无法直接用equalTo匹配单个元素

内容的提问来源于stack exchange,提问作者user121095

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:35:54