现阶段我的聚合管道中有两个文档,它们是:
{
"_id" : "Piers Morgan",
"entities" : ["Sexism", "Charlotte Hawkins","Red carpet"]
}
{
"_id" : "Gareth Bale",
"entities" : ["Sergio Busquets", "Real Madrid C.F.", "EFL Cup", "Copa del Rey"]
}
我只是希望使用 Java 中的 Morphia 返回一个投影,即数组的 id 和大小。在 Mongo 中,可以使用以下命令来完成:
{ $project: { count : {$size : "$entities"} } }
在 Morphia 中我尝试过:
.project(projection("count",
Projection.expression("$size", "entities")));
返回 java.lang.ClassCastException: java.lang.String 无法转换为 com.mongodb.DBObject
Morphia 中正确的等效表达式是什么?
最佳答案
您应该使用投影
而不是表达式
,如下所示:
.project(projection("count",projection("$size", "entities" )))
关于java - 在带有 Morphia 的 Mongo 聚合管道中使用运算符的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45214057/