按 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);
我有猫鼬的这个模式
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);