在 Morphia 的 Mongo 聚合管道中使用运算符的正确方法是什么
What is the correct way to use operators in Mongo aggregation pipelines with Morphia
现阶段我的聚合管道中有两个文档,它们是:
{
"_id" : "Piers Morgan",
"entities" : ["Sexism", "Charlotte Hawkins","Red carpet"]
}
{
"_id" : "Gareth Bale",
"entities" : ["Sergio Busquets", "Real Madrid C.F.", "EFL Cup", "Copa del Rey"]
}
我只想return一个投影,它是数组的id和大小,使用Java中的Morphia。在 Mongo 中,可以使用:
{ $project: { count : {$size : "$entities"} } }
在Morphia我尝试过:
.project(projection("count",
Projection.expression("$size", "entities")));
which returns java.lang.ClassCastException: java.lang.String 无法转换为 com.mongodb.DBObject
Morphia 中正确的等效表达式是什么?
您应该像这样使用 projection
而不是 expression
:
.project(projection("count",projection("$size", "entities" )))
现阶段我的聚合管道中有两个文档,它们是:
{
"_id" : "Piers Morgan",
"entities" : ["Sexism", "Charlotte Hawkins","Red carpet"]
}
{
"_id" : "Gareth Bale",
"entities" : ["Sergio Busquets", "Real Madrid C.F.", "EFL Cup", "Copa del Rey"]
}
我只想return一个投影,它是数组的id和大小,使用Java中的Morphia。在 Mongo 中,可以使用:
{ $project: { count : {$size : "$entities"} } }
在Morphia我尝试过:
.project(projection("count",
Projection.expression("$size", "entities")));
which returns java.lang.ClassCastException: java.lang.String 无法转换为 com.mongodb.DBObject
Morphia 中正确的等效表达式是什么?
您应该像这样使用 projection
而不是 expression
:
.project(projection("count",projection("$size", "entities" )))