MongoDB中嵌套对象的排序

MongoDB中嵌套对象的排序,mongodb,mongoose,Mongodb,Mongoose,因此,我有遵循此模式的文档: { _id:String, globalXP:{ xp:{ 类型:数字, 默认值:0 }, 级别:{ 类型:数字, 默认值:0 } }, 公会:[{u id:String,xp:Number,level:Number}] } 因此,基本上,用户有自己的全球XP和XP的基础上,他们在每个公会 现在,我想为文档中有特定guildID的所有用户制作一个排行榜。 获取所有在其协会数组中具有协会id的用户文档的最有效方法是什么?之后如何对其进行排序 我知道这可能会很混乱,但

因此,我有遵循此模式的文档:

{
_id:String,
globalXP:{
xp:{
类型:数字,
默认值:0
},
级别:{
类型:数字,
默认值:0
}
},
公会:[{u id:String,xp:Number,level:Number}]
}
因此,基本上,用户有自己的全球XP和XP的基础上,他们在每个公会

现在,我想为文档中有特定
guildID
的所有用户制作一个排行榜。
获取所有在其协会数组中具有协会id的用户文档的最有效方法是什么?之后如何对其进行排序


我知道这可能会很混乱,但我在这里就不需要了。

如果我理解得很好,您只需要这行代码:

var find=wait model.find({“guilds.\u id”:“your\u guild\u id”})。sort({“globalXP.level”:-1})
此查询将返回
行会
数组包含特定
\u id
的所有文档,并按玩家级别排序

这样,将首先显示最佳级别


这是查询工作原理的一个示例。请检查它是否如您所期望的那样工作。

如果我理解得很好,您只需要这行代码:

var find=wait model.find({“guilds.\u id”:“your\u guild\u id”})。sort({“globalXP.level”:-1})
此查询将返回
行会
数组包含特定
\u id
的所有文档,并按玩家级别排序

这样,将首先显示最佳级别

这是查询工作原理的一个示例。请检查它是否如您所期望的那样工作