如何使用JavaScript自动按2个特定字段降序排列MongoDB数组

如何使用JavaScript自动按2个特定字段降序排列MongoDB数组,javascript,arrays,json,mongodb,sorting,Javascript,Arrays,Json,Mongodb,Sorting,我试图将MongoDB数组按降序排序。 我创建了一些JavaScript代码来获取所有文档并将它们转换为JSON数组,但我还需要按降序对它们进行排序。 这是我的代码: const result = xpSchema.find({ gid: '754542598957432943', }); jsonString = JSON.parse(JSON.stringify(result)); console.l

我试图将MongoDB数组按降序排序。 我创建了一些JavaScript代码来获取所有文档并将它们转换为JSON数组,但我还需要按降序对它们进行排序。 这是我的代码:

const result = xpSchema.find({
             gid: '754542598957432943',
        });
        
        jsonString = JSON.parse(JSON.stringify(result));
        console.log(jsonString);
文档如下所示:

 {
    xp: 5,
    coins: 0,
    level: 1,
    _id: '5f9337a49b46164777c46905',
    gid: '754542598957432943',
    profilepic: null,
    userId: '712947234886647828',
    username: 'CoolUserName',
    __v: 0
  }
我需要按照XP和Level字段对它们进行排序。如果级别与不同文档级别的编号相同,则需要查看XP并查看哪个文档XP字段更高。它需要放在上面的最高的一个

有什么办法吗


谢谢:)

尝试此查询。要编写猫鼬等价物,请参阅文档

这是

db.collection.aggregate([
  {
    "$match": {
      gid: "754542598957432943"
    }
  },
  {
    "$sort": {
      level: -1,
      xp: -1
    }
  }
])