如何使用Morphia findAndModify排序搜索查询?



我使用的是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的彻底反思,目的是要成为一组更合理、更可用的接口。到目前为止,人们似乎对此很满意。我强烈建议你升级一下。