如何在没有$ group的聚合语句中使用$ max?

时间:2015-12-03 09:23:08

标签: mongodb max mongodb-query

我想在聚合中使用$ max运算符,但如果我使用组,则需要ID。

我的文件有这种结构:

{
    "_id" : ObjectId("5633d6c3425d449c2ed498dd"),
    "stuff" : 123,
    "names" : [ 
        {
            "type" : "primary",
            "value" : "Foobar"
        }, 
        {
            "type" : "alternate",
            "value" : "Lorem Ipsum"
        }, 
        {
            "type" : "alternate",
            "value" : "Bar foo"
        }
    ]
}

我尝试使用不带组的$ max

db.foobar.aggregate([
    { $unwind: "$names" },
    { $max: "$names.value" }
]);

但是得到"exception: Unrecognized pipeline stage name: '$max'"

还尝试过:

db.foobar.aggregate([
    { $unwind: "$names" },
    {
        $group:
        {
            _id: "",
            maxName: { $max: "$names.value" }
        }
    }
]);

但是得到

{
    "_id" : "",
    "maxName" : "7つの紋章、7つの部族"
}

这很奇怪,因为我的拉丁字母字符串确实更长,例如:"米德尔顿通过英格兰和威尔士的新地理游戏"

我错过了什么吗? 你知道我怎么能用这个$ max吗?

0 个答案:

没有答案