java - 如何使用 Spring 数据 CouchbaseTemplate 执行动态 n1ql 查询
问题描述
我正在将 spring data couchbase 迁移到 4.*
在以前的版本中,我曾经执行如下动态 N1Ql 查询
N1qlQueryResult result = couchbaseTemplate.queryN1QL(N1qlQuery.simple(complexStringQuery));
现在通过升级,我看到 queryN1QL 已被删除,我们应该使用 findByQuery。但是 findByQuery 不接受字符串查询。
如何使用较新的 spring data couchbase 版本来实现这一点。
谢谢您的帮助
解决方案
因为 Couchbase 6.6 和 7 添加了对范围和集合的支持,所以查询被移动到集群/存储桶级别:
@Autowired
private Cluster cluster;
@Autowired
private Bucket bucket;
...
cluster.query(N1qlQuery.simple("Select * From myBucket",
N1qlParams.build().consistency(ScanConsistency.REQUEST_PLUS))).allRows();
//or
bucket.query(N1qlQuery.simple("select * from Buckey")).allRows();
推荐阅读
- python-3.x - 如何更改 tf.data.Dataset 中数据的 dtype?
- linux - Sidekiq 成功启动,但 systemd 每隔约 1 分钟重新启动一次
- javascript - 有人可以帮我制作一个循环,其中详细信息和状态的文本每秒都会从 Text 更改为 Text2 并返回到 Text
- swift - Metal 命令缓冲区内部错误:什么是内部错误(IOAF 代码 2067)?
- javascript - js中的工厂模式是否违反了开闭原则?
- universe - Rocket Universe 挂起删除多部分文件
- amazon-waf - 将 AWS WAF 迁移到 Azure WAF 的问题
- android - 如何在 Android JAVA 中使用 Firebase 推送通知更改某些文档字段?
- go - Go中的无死锁锁定多个锁
- python - KIVY:在 App 初始化期间获取添加的小部件