【发布时间】:2017-10-12 08:22:51
【问题描述】:
我正在尝试计算集合中每个文档的列表中元素的数量,类似于下面的示例。 (https://docs.mongodb.com/manual/reference/operator/aggregation/size/#exp._S_size)
db.inventory.aggregate(
[
{
$project: {
item: 1,
numberOfColors: { $size: "$colors" }
}
}
]
)
此查询将返回每个文档中列表“颜色”的大小。
一个等效的morphia查询应该是这样的:
pipeline = ds.createAggregation(Abc.class)
.match(query)
.project(Projection.projection("count",
Projection.expression("$size","colors")));
上面执行时出错:java.lang.String 无法转换为 com.mongodb.DBObject
我无法获得等效的 morphia 查询来实现相同的目的。
在这方面的任何帮助将不胜感激。
【问题讨论】:
-
我尝试了这里提到的解决方案,但没有成功。
标签: java database mongodb aggregation-framework morphia