如何使用 Morphia 对排序的搜索查询进行 findAndModify?

How to use Morphia to findAndModify with a sorted search query?

我正在使用 Morphia 1.6.1,这是我的实际代码:

final Query<Entity> query = datastore.createQuery(Entity.class)
    .field("status").equal(Status.OPEN)
    .order(Sort.ascending("lastUsed"));

final UpdateOperations<Entity> updateOperations = datastore
    .createUpdateOperations(Entity.class)
    .set("lastUsed", ZonedDateTime.now());

final Entity entity = datastore.findAndModify(query, updateOperations);

唯一的问题是 .order() 是 @Deprecated。所以我需要找到另一种方法来做到这一点。你有什么想法吗?

如果你是1.6.1,你可以愉快地使用那个方法。一旦您移动到 ​​2.x,修改操作的完成方式以及选项的传递方式都会发生一些变化,因此无论如何您都需要做一些返工。 (有一个选项可以继续使用旧版 API,它已被完全弃用,很快就会被删除。可能在 2.4 中。)

2.x 是对 API 的彻底重新思考,旨在成为一组更合理、更可用的接口。到目前为止,人们似乎对此很满意。我强烈建议升级。