MongoDB:如何在分页期间根据表达式/条件设置mongo实体中字段的值,并对该字段进行排序
我有下面的Mongo实体类MongoDB:如何在分页期间根据表达式/条件设置mongo实体中字段的值,并对该字段进行排序,mongodb,mongodb-query,aggregation-framework,spring-data-mongodb,querydsl,Mongodb,Mongodb Query,Aggregation Framework,Spring Data Mongodb,Querydsl,我有下面的Mongo实体类 @Data @Builder @NoArgsConstructor @AllArgsConstructor @Document class Contact { @Id private String id; private String fName; private String lName; private Integer Salary; private Integer salaryIndicator; } @Data @Builder @NoArgsConst
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Document
class Contact {
@Id
private String id;
private String fName;
private String lName;
private Integer Salary;
private Integer salaryIndicator;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "contacts")
class Contact {
@Id
private String id;
private String fName;
private String lName;
private Integer salary;
@Formula("CASE " +
"WHEN salary IS NULL THEN 0 " +
"WHEN salary <= 0 THEN 0 " +
"WHEN salary > 0 THEN 1 " +
"END")
private Integer salaryIndicator;
}
相同的等价Jpa实体类
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Document
class Contact {
@Id
private String id;
private String fName;
private String lName;
private Integer Salary;
private Integer salaryIndicator;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "contacts")
class Contact {
@Id
private String id;
private String fName;
private String lName;
private Integer salary;
@Formula("CASE " +
"WHEN salary IS NULL THEN 0 " +
"WHEN salary <= 0 THEN 0 " +
"WHEN salary > 0 THEN 1 " +
"END")
private Integer salaryIndicator;
}
@数据
@建筑商
@诺尔格构装师
@AllArgsConstructor
@实体
@表(name=“contacts”)
班级联系{
@身份证
私有字符串id;
私有字符串fName;
私有字符串名称;
私人整数工资;
@公式(“案例”+
“当薪资为空时,则为0”+
“当工资为0时,则为1”+
“结束”)
专用整数工资指示器;
}
我需要根据salaryIndicator字段对联系人进行排序,但该字段在数据库中不可用,值会根据薪水进行更新。MongoDB中是否有@Formula的替代方案
我正在为MongoDB使用QueryDsl。请让我知道是否有在MongoDB中使用表达式和设置值的选项。并且应该能够在MongoDB中使用分页进行排序。任何人请通知任何人请通知