spring数据mongodb嵌入文档id查询

7kjnsjlb  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(288)

我试图查询包含@reference as属性的模型,如:

public class TaskGroups {

    @Reference
    Branch branch;

.
.
.

}

以此类推,然后我有一个查询,有更多的逻辑和代码,但在resume中,我必须根据branch object的字段id进行过滤,它只是对象上的id,但数据库上的id,没问题,它是框架的正常行为。
好了,现在代码不起作用了:

public class TaskGroupRepositoryImpl implements TaskGroupCustomRepository {

    private final MongoTemplate mongoTemplate;

    @Autowired
    public TaskGroupRepositoryImpl(MongoTemplate mongoTemplate) {
        this.mongoTemplate = mongoTemplate;
    }

    @Override
    public List<TaskGroup> query(TaskGroupDynamicQuery queryObject) {
        Query query = new Query();
        final List<Criteria> criterias = new ArrayList<>();

        criterias.add(Criteria.where("deleted").is(false));

        if (queryObject.getBranchId() != null) {
            criterias.add(Criteria.where("branch._id").is(new ObjectId(queryObject.getBranchId())));
        }

.
.
.
}

因此,当代码运行时,查询将字段“branch.\u id”更改为only branch!然后没有记录返回。。。
对于这种行为,我需要做一个变通方法,将结果Map到just object,然后转换到taskgroup类,这样查询就不会对属性名和过滤器ocurs进行任何修改。
这是虫子吗?或者它的正常行为?有什么解决方法可以避免在id字段中更改属性名吗?
收件人。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题