【发布时间】:2022-08-03 17:56:50
【问题描述】:
我有以下文档结构
_id:2
lines:Array
我想检索每个文档的 lines 项目数
{
_id: \"$_id\",
numberLines: {
$size: \"$lines\"
}
}
它不起作用!
然后我想使用聚合管道获取整个文档的 lines 项总数
标签: mongodb mongodb-atlas atlas
我有以下文档结构
_id:2
lines:Array
我想检索每个文档的 lines 项目数
{
_id: \"$_id\",
numberLines: {
$size: \"$lines\"
}
}
它不起作用!
然后我想使用聚合管道获取整个文档的 lines 项总数
标签: mongodb mongodb-atlas atlas
组只允许accumulators operations,而$size 不是其中之一。
但是,您似乎只需要使用$project 或$addFields 阶段,因为您实际上并没有$grouping 任何东西。
像这样:
{
$project: {
_id: 1,
numberLines: { $size: "$lines" }
}
}
【讨论】:
count: { $count: '$numberLines'},但它什么也没返回
$count 基本上是一个特定的$group,你能解释一下你为什么要尝试$group 吗?不管你能看到this 的例子——这使用了我建议使用的$project 或$addFields。
[{$project: { _id: "$_id", numberLines: { $size: "$lines" } }}, {$group: { _id: null, total: { $sum: "$numberLines" } }}]