2017-03-07 111 views
1

假设我想这样MongoDB的Java的异步:合并筛选和排序为FindOneAndUpdate

.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

您不能将过滤器与排序组合。

FindOneAndUpdate需要三个参数。通过第一个参数作为过滤器,第三个参数是FindOneAndUpdateOptions

喜欢的东西

findOneAndUpdate(filter,update, 
         new FindOneAndUpdateOptions().sort(sort));