文档结构:
{
id: ObjectId("5ef1cd704b35c6d6698f2050")
date: 2021-12-15T11:03:00.000+00:00
priorityList: Array
0: "any-String-id-here"
1: ...
}
我想查找按具有以下条件的自定义表达式排序的文档:
priorityList
中包含给定的字符串我在做什么
TypedAggregation<MyDocument> aggregation = newAggregation(MyDocument.class,
project("id")
.and("isInList").applyCondition(ConditionalOperators
.when(Criteria.where("priorityList").all("here-my-string-to-check"))
.then(1)
.otherwise(0)),
sort(Sort.by(
Sort.Order.desc("isInList"),
Sort.Order.desc("date"))));
mongoTemplate.aggregate(aggregation, "my-collection-name", String.class);
生产
com.mongodb.MongoCommandException:
Command failed with error 168 (InvalidPipelineOperator): 'Invalid $project ::
caused by :: Unrecognized expression '$all''
如何实现所需的排序条件?