Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB:如何在分页期间根据表达式/条件设置mongo实体中字段的值,并对该字段进行排序_Mongodb_Mongodb Query_Aggregation Framework_Spring Data Mongodb_Querydsl - Fatal编程技术网

MongoDB:如何在分页期间根据表达式/条件设置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

我有下面的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
@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中使用分页进行排序。

任何人请通知任何人请通知