MongoDb Java Async:为FindOneAndUpdate组合过滤器和排序

时间:2017-03-07 11:31:47

标签: java mongodb-query

假设我想像这样运行查询

.find(Filters.exists("a", false))
            .sort(Sorts.orderBy(Sorts.descending("b"),Sorts.ascending("c")))

但是使用 findOneAndUpdate 操作。

.findOneAndUpate(bson???, Updates.combine(Updates.set("b", 1), Updates.set("c", 2)), callback)

如何创建正确的bson参数,同时结合使用过滤器和排序?

1 个答案:

答案 0 :(得分:1)

您无法将过滤器与排序组合在一起。

FindOneAndUpdate有三个参数。将第一个参数作为过滤器传递,将第三个参数作为FindOneAndUpdateOptions进行排序。

这样的东西
findOneAndUpdate(filter,update,
                         new FindOneAndUpdateOptions().sort(sort));