java - $and 条件不适用于 springboot mongodb 中的三个或三个以上字段
问题描述
@Document(collection = "formtype")
public class FormType {
@Id
@Field(value = "id")
private Long formTypeId;
@Field(value = "formtypename")
private String formTypeName;
@Field(value = "isdeleted")
private Boolean isDeleted = false;
//with constructor and getter setter
}
我写了这个查询来找出formTypeName
不属于那个的表单类型的记录,formTypeId
它isDeleted
不等于真。
编写此查询时,即使该记录存在,我也会将值设为 null。请帮帮我!
@Query("{ '$and': [ {'formTypeId':{$ne :?0}} , {formTypeName:'?0'} , {'isDeleted':{$ne : true}} ] }") FormType getformTypeToUpdate(Long formTypeId,String formTypeName);
解决方案
您已?0
包含在简单的引用中,编译器可能会误解。此外,您似乎只将Long formTypeId
参数用于两个条件formTypeId
和formTypeName
.
你能试一下吗:
@Query("{ '$and': [ { 'formTypeId': { $ne : ?0 } }, { 'formTypeName': ?1 }, { 'isDeleted': { $ne : true } } ] }")
FormType getformTypeToUpdate(Long formTypeId, String formTypeName);
推荐阅读
- angular - 如何使用 Angular http get 方法调用解决跨源问题并获取响应数据?
- pandas - 如何使用嵌套级别查询 MultiIndex?
- c++ - 无法创建指向自定义类型的指针列表
- javascript - 如果链接 onMouseOut 引用延迟的 javascript 会发生什么?
- javascript - Javascript 在我的 asp.net 文件中不起作用
- r - 降序排列并选择R中的前3个
- angular - 为什么在strapi中启动时会显示错误
- json - 如何使用 mssql 递归解析 JSON 字符串?
- java - 如何在运行时安排特定时间的执行方法
- php - PHPMyadmin:每次点击都会重定向到登录页面