我在这里有一个用例似乎无法解决。基本上,我需要创建一个Web服务,用户可以在其中动态查询couchbase集群"。实际上,我存储了不同文件的元数据,以及"创建"这个元数据取决于用户:我在Java POJO中没有特定的字段,我插入了一个MAP作为嵌套对象插入到couchbase中。
现在我需要的查询在纸上非常简单,看起来像这样:
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND $1 = $2")
List<FileMetadata> findListMetadata(String pKey, String pValue);
但它似乎不起作用,$ 1似乎永远不会被pKey变量取代。 我使用CouchBase 4.5和Spring Data连接器。
有关如何解决该用例的任何想法?
答案 0 :(得分:2)
您需要动态生成查询字符串,以便将pKey插入查询字符串中,并将pValue作为参数传递(正如您所做的那样)。