【问题标题】:Sort collections of docs By the biggest embedded Doc with mongodb使用 mongodb 按最大的嵌入式 Doc 对文档集合进行排序
【发布时间】:2015-02-04 08:45:02
【问题描述】:

我有这个带有猫鼬的架构

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,

        }]
}

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

谢谢!

【问题讨论】:

    标签: javascript mongodb mongoose


    【解决方案1】:

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

    所以在这种情况下应该是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2016-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      相关资源
      最近更新 更多