如何解决如何在聚合查询MongoDB中切片某些文件
我正在尝试汇总诗歌集。每首诗都有“行”文件,这些文件是行数组,例如
lines: [
{
id: '123'
text: 'ABC'
},{
id: '567'
text: 'AKA'
},{
id: '890'
text: 'ZXZ'
}
...
]
db.getCollection('poems').aggregate([
{
$match: {
"languageId": "en","published": { $exists: true,$ne: false }
}
},{
$group: {
_id: {
"userId": "$userId"
},"lastPoem": {
$last: "$$ROOT" // take just last document alternatives $first or $push (all)
},"count": {
$sum: 1
}
}
},{ "$sort": { 'lastPoem.publishedDate': -1 } },{ "$skip": 0 },{ "$limit": 10 }
])
例如,我需要将“行”的数量切为5。 在这种情况下,如何在整合中使用切片?
我尝试放置其他地方,但没有使它起作用。
{ "lastPoem.lines": { "$slice": [ "$lines",10 ] } }
谢谢!
解决方法
lines
字段位于lastPoem
的{{1}}内部,而您在$lastPoem.lines
中仅使用了$lines
,
-
$slice
之后$addFields
到$group
之前
$sort
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。