【问题标题】:how to query with an attribute that have different values in quarkus panache如何使用在 quarkus panache 中具有不同值的属性进行查询
【发布时间】:2021-05-18 09:19:18
【问题描述】:

我想统计所有状态不同于“UNEMPLOYED”的用户;

我的收藏看起来像这样:

  [   
  {
     "id" : "1",
     "name": "Mr.A",
     "status": "UNEMPLOYED"
  },
  {
     "id" : "2",
     "name": "Mr.B",
     "status": "WORKING"
  },
  { 
     "id" : "3",
     "name": "Mr.B",
     "status": "WORKING"
  },
  { 
     "id" : "4",
     "name": "Mr.D",
     "status": "STUDYING"
  }
  ] 

这是我的查询:

User.count("{'userStatus': :userStatus}",
            Parameters.with("userStatus", UserStatus.STUDYING)
            .and("userStatus", UserStatus.WORKING)
           )

我期望查询应该返回 3 但它给了我 1。 你能帮我找出错误的部分在哪里吗?非常感谢。

【问题讨论】:

    标签: java mongodb-query quarkus quarkus-panache


    【解决方案1】:

    您所做的实际上是将userStatus 设置为单个值。

    您可能想要执行以下操作:

    User.count("where userStatus = ?1 or userStatus = ?2", UserStatus.STUDYING, UserStatus.WORKING)
    

    【讨论】:

    • “where”子句不是必需的,但该查询有效!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2021-10-11
    • 2023-02-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    相关资源
    最近更新 更多