按 mongodb 最大的嵌入式文档对文档集合进行排序

Sort collections of docs By the biggest embedded Doc with mongodb

我有猫鼬的这个模式

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,

        }]
}

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

谢谢!

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

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

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