【问题标题】:How to query multiple entries at once如何一次查询多个条目
【发布时间】:2021-02-24 13:16:55
【问题描述】:

我正在使用 spring boot 反应式和 Couchbase

Flux<Item> findByLocation_LocationIdOrderByCreatedAtDesc(String locationId);

只是指出这里我正在访问 Location.locationId。 Location 对象在主文档中有 locationId 字段

下面的属性也不会打印生成的 Couchbase 查询,如果有人也可以帮忙的话,

记录: 等级: org.springframework.data:调试

当数据库只有一个条目时响应很好,但是当数据库有多个条目匹配条件时,它会抛出“源发出多个项目”。

我的控制器正在返回

Flux<Item>

【问题讨论】:

  • 您使用的是 CouchDB 还是 Couchbase?您都已标记,但您在问题中提到了 CouchDB。
  • 删除了标签couchDB,spring几乎有类似的查询结构,这是因为添加了该标签

标签: java spring-boot couchbase reactive n1ql


【解决方案1】:

以下两个注释是强制性的,否则它会不断返回异常

@N1qlPrimaryIndexed @ViewIndexed

@Ghrissology 我已经有了 ReactiveCouchbaseRepository

【讨论】:

    【解决方案2】:

    通常,spring Data 会根据返回类型更改查询。 如果你想要一个结果,它会自动使用 getSingleResult() :

    Item findByLocation_LocationIdOrderByCreatedAtDesc(String locationId);
    

    在你的情况下,我认为他不理解返回类型,因为你没有实现 ReactiveCrudRepository:

    public interface ReactiveItemRepository
      extends ReactiveCrudRepository<item, String> {}
    

    【讨论】:

    • ReactiveCrudRepository 不适用于我的情况,因为我正在使用响应式我已经扩展了 ReactiveCouchbaseRepository
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 2019-10-04
    相关资源
    最近更新 更多