使用 N1QL 进行动态字段名查询
Dynamic field name query using N1QL
我这里有一个我似乎无法解决的用例。基本上,我需要创建一个网络服务,用户可以在其中查询 couchbase 集群 "dynamically"。事实上,我正在存储不同文件的元数据,并且此元数据的 "creation" 取决于用户:我的 Java POJO 中没有特定字段,我正在插入一个 MAP在 couchbase 中作为嵌套对象插入。
现在我需要的查询在纸面上非常简单,看起来像这样:
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND = ")
List<FileMetadata> findListMetadata(String pKey, String pValue);
但这似乎不起作用,$1 似乎从未被 pKey 变量替换过。
我正在使用带有 Spring 数据连接器的 CouchBase 4.5。
关于如何解决该用例的任何想法?
您需要动态生成查询字符串,以便将 Key 插入查询字符串并将 p Value 作为参数传递(正如您所做的那样)。
我这里有一个我似乎无法解决的用例。基本上,我需要创建一个网络服务,用户可以在其中查询 couchbase 集群 "dynamically"。事实上,我正在存储不同文件的元数据,并且此元数据的 "creation" 取决于用户:我的 Java POJO 中没有特定字段,我正在插入一个 MAP在 couchbase 中作为嵌套对象插入。
现在我需要的查询在纸面上非常简单,看起来像这样:
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND = ")
List<FileMetadata> findListMetadata(String pKey, String pValue);
但这似乎不起作用,$1 似乎从未被 pKey 变量替换过。 我正在使用带有 Spring 数据连接器的 CouchBase 4.5。
关于如何解决该用例的任何想法?
您需要动态生成查询字符串,以便将 Key 插入查询字符串并将 p Value 作为参数传递(正如您所做的那样)。