排序文档集合由最大的嵌入式Doc与mongodb

时间:2015-02-03 19:50:14

标签: javascript mongodb mongoose

我有mongoose的这个架构

schema = new Schema({
    id: {
      type: String,
    },
   embedded: [embeddedSchema]
});

embeddedSchema = new Schema({
    value: {
        type: String,
    },
});

这可以产生类似的东西:

{
    "_id" : ObjectId("5454f4f1073cc3b529320f79"),
    "embedded" : [ 
        {
            "value" : 123,

        }    ,        {
            "value" : 123,

        },
        {
            "value" : 123423,

        }
    ]
}

/* 1 */
{
    "_id" : ObjectId("5454f508910ef3b82970f11d"),
    "embedded" : [ 
        {
            "value" : 1,

        }     ,       {
            "value" : 2,

        },
        {
            "value" : 9999999,

        }]
}

我想按嵌入式文档的最大价值对架构集合进行排序。 哪种查询可以产生这种结果?

谢谢!

1 个答案:

答案 0 :(得分:0)

当您对像value这样的数组元素字段进行降序排序时,MongoDB会在数组中的所有元素中使用该字段的最大值。

所以在这种情况下,它将是:

MyModel.find().sort('-embedded.value').exec(callback);