【发布时间】:2021-04-07 09:40:39
【问题描述】:
所以我想出了一个我不确定如何转换为 Spring Data 的查询。这是查询:
db.collection.aggregate([{
{
$group: {
_id: "$field",
count: {
$sum: "$count"
},
data: {
"$addToSet": "$$ROOT"
}
}
},
{
$sort: {
count: -1
}
},
{
$limit: 10
},
{
$unwind: "$data"
}
])
有问题的部分是unwind。在这个原始查询中,我将正在处理的原始文档(“$$ROOT”)放入data,因此在处理集合后,我可以展开它并最终得到我真正想要的文档.这在外壳上工作正常。问题是我没有看到如何在 Java/Kotlin 中执行相同的操作,我可以添加到集合中,而无需稍后引用该数据。有人可以帮我写下 Java/Kotlin 和 Spring Data 的样子吗?
【问题讨论】:
-
您是否尝试使用 MongoDB Compass 实用程序将查询转换为任何编程语言?您可以在那里加载聚合函数并将其导出到 Java。
-
没听说过,去看看吧。
-
这里是link
-
我知道在春天怎么做,但我不知道 kotlin。你可以在 kotlin 中使用
mongoTemplate吗?如果春天 oot 我可以回答你 -
@varman 是的,请用 java 写。我在 kotlin 中使用 mongotemplate :)
标签: java mongodb spring-boot kotlin spring-data