gpt4 book ai didi

mongodb - 使用 Quarkus 进行复杂的 mongodb 查询

转载 作者:行者123 更新时间:2023-12-04 04:12:05 30 4
gpt4 key购买 nike

我需要将 Spring Boot 项目迁移到 Quarkus。该项目一直使用 Spring Data Mongodb 进行所有查询。现在我发现很难迁移复杂的查询。

一个例子是

public List<MyData> findInProgressData(MyConditions conditions) {
Query mongoQuery = new Query();

mongoQuery.addCriteria(Criteria.where("status").is(IN_PROGRESS));
mongoQuery.addCriteria(Criteria.where("location").is(conditions.getLocationCode()));

if (StringUtils.isNotBlank(conditions.getType())) {
mongoQuery.addCriteria(Criteria.where("type").is(conditions.getType()));
}

if (StringUtils.isNotBlank(conditions.getUserId())) {
mongoQuery.addCriteria(Criteria.where("userId").is(conditions.getUserId()));
}

mongoQuery.with(Sort.by(Sort.Direction.ASC, "createdAt"));

return mongoTemplate.find(mongoQuery, MyData.class);
}

如何使用 Quarkus 实现条件查询?

最佳答案

你或许可以试试 Panache with Mongodb .
您可以通过Document进入 .find()方法,在此对象中,您可以指定任何条件。

        final Document document = new Document();
document.put("status","IN_PROGRESS");
...
result = MyData.find(document); // or MyDataRepository

但是你需要修改一些代码以适应 Panache,这可以通过扩展 PanacheEntity 来完成。或 PanacheEntityBase

关于mongodb - 使用 Quarkus 进行复杂的 mongodb 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61546663/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com