【问题标题】:Spring Web flux Mongo querySpring Web Flux Mongo 查询
【发布时间】:2019-12-16 21:24:45
【问题描述】:

您好,我是 Spring Web Flux 的新手,面临有关 Mongo 响应式查询的问题。

我的模型类有以下结构

public class Users implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Id
    private String id;
    private String firstName;
    private String middleName;
    private String lastName;
    private List<Email>emails;
}


public class Email implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    String address;
    boolean verified;
}

现在我必须查询给定的电子邮件是否存在于 mong 文档中,因为电子邮件归档是上面给出的电子邮件列表。

有人能在这方面取悦我吗?

我在存储库上写了以下查询

@Query(value = "{'emails.address' : ?0 }")
    Mono<Users> findByEmails(String address);   

【问题讨论】:

  • 嗨,您在查找电子邮件时遇到了什么问题 @Query("{'users.emails.address': ?0}") Mono findByEmailAddress(final String address) 应该可以工作

标签: spring spring-webflux mongorepository


【解决方案1】:

尝试使用

@Query("{'users.emails.address': ?0}") 
Mono <Users> findUserByEmailAddress(final String address)

【讨论】:

  • 我怎么能确定在这种情况下应该只有一行。
  • 还有你为什么要使用 user.email ,我已经标记了我的模型@Document(collection='users')。对吗?
  • 对不起,如果您期望值列表使用 Flux 并且即使您使用 @Document((collection='users') 标记它,这也是为了让 mongo 知道集合并且查询应该包含用户,因为它包含用户对象
猜你喜欢
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 2017-09-21
  • 2017-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多