Mongo with Spring Data - 在同一查询中使用 Distinct 和 Orderby
Mongo with Spring Data - Use Distinct and Orderby in the same query
我正在处理一些数据集,其 json 下面给出了一个对象的格式。
{
_id: ............,
code : G12220,
type : etf,
volume : 13,
modified_time:..................
.
.
.
}
此数据集更新非常频繁(每 1 分钟一次),并且有几千个唯一代码。我想编写一个查询来获取每个最新的不同 "codes" 可用的文档集。例如:如果有两个文档,每个文档都具有相同的代码,则结果应该是最新的。我正在使用 Spring 数据。
我开始编写查询,下面给出的是示例。
@Query("{type : ?0}......")
public List<ProductEntities> getLatestProductsSet(String type);
我不太确定如何编写复杂的查询。如果您能帮助我,将不胜感激。
提前致谢,
您可能需要查看以下 mongo 查询来实现此目的。
db.collection.aggregate([
{
"$group": {
"_id": {
"code": "$code",
"modifiedTime": "$modified_time"
},
"docs": {
"$push": "$$ROOT"
}
}
},
{
"$sort": {
"_id.modifiedTime": -1
}
},
{
"$limit": 1
}
]);
以下链接可帮助您理解上述查询。
http://docs.mongodb.org/manual/reference/operator/aggregation/group/
http://docs.mongodb.org/manual/reference/operator/aggregation/sort/
http://docs.mongodb.org/manual/reference/operator/aggregation/push/
http://docs.mongodb.org/manual/reference/operator/aggregation/limit/
Spring 部分如下。
http://www.mkyong.com/mongodb/spring-data-mongodb-aggregation-grouping-example/
如果有帮助,请告诉我。
我正在处理一些数据集,其 json 下面给出了一个对象的格式。
{
_id: ............,
code : G12220,
type : etf,
volume : 13,
modified_time:..................
.
.
.
}
此数据集更新非常频繁(每 1 分钟一次),并且有几千个唯一代码。我想编写一个查询来获取每个最新的不同 "codes" 可用的文档集。例如:如果有两个文档,每个文档都具有相同的代码,则结果应该是最新的。我正在使用 Spring 数据。
我开始编写查询,下面给出的是示例。
@Query("{type : ?0}......")
public List<ProductEntities> getLatestProductsSet(String type);
我不太确定如何编写复杂的查询。如果您能帮助我,将不胜感激。
提前致谢,
您可能需要查看以下 mongo 查询来实现此目的。
db.collection.aggregate([
{
"$group": {
"_id": {
"code": "$code",
"modifiedTime": "$modified_time"
},
"docs": {
"$push": "$$ROOT"
}
}
},
{
"$sort": {
"_id.modifiedTime": -1
}
},
{
"$limit": 1
}
]);
以下链接可帮助您理解上述查询。
http://docs.mongodb.org/manual/reference/operator/aggregation/group/
http://docs.mongodb.org/manual/reference/operator/aggregation/sort/
http://docs.mongodb.org/manual/reference/operator/aggregation/push/
http://docs.mongodb.org/manual/reference/operator/aggregation/limit/
Spring 部分如下。
http://www.mkyong.com/mongodb/spring-data-mongodb-aggregation-grouping-example/
如果有帮助,请告诉我。