是否可以在 Spring 数据中使用 Mongo $natural 运算符?

Is it possible to use the Mongo $natural operator in Spring Data?

我想在 Spring 数据 MongoDB 中使用 $natural 运算符,如此处记录:

https://docs.mongodb.org/v3.0/reference/operator/meta/natural/

这可以使用 MongoTemplate class 来实现吗?谢谢。

可以在至少三种样式中使用 $natural,其中 1. 和 2. 可能是您要找的样式:

1。使用 SortQuery

Query query = new Query().with(new Sort(Direction.ASC, "$natural"));

之后使用 MongoTemplate 查询。查询带有排序文档,如:

{ "$natural" : 1}

2。使用 BasicQuery

BasicQuery 允许对查询文档、字段 ("projection") 和排序使用自己的 DBObject

BasicQuery basicQuery = new BasicQuery(new BasicDBObject());
basicQuery.setSortObject(new BasicDBObject("$natural", 1));

3。使用 executeCollectionCallback

这是您访问 DBCollection 的最广泛方式,您可以使用本机 MongoDB 驱动程序 API。有关详细信息,请参阅 Spring Data Mongo docs