如何将find().sort()应用于mongoDB中的多维数据

如何将find().sort()应用于mongoDB中的多维数据,mongodb,Mongodb,我对MongoDB完全陌生,在学习的过程中我真的很享受。但现在我在中间。实际上,我有如下数据:我想应用一些排序操作,比如按标记排序 { "_id": 1, "gender": "m", "score": [ { "marks": 86, "subject": "Eng", "grad": "A" }, { "marks": 76, "subject": "Computers", "grad

我对MongoDB完全陌生,在学习的过程中我真的很享受。但现在我在中间。实际上,我有如下数据:我想应用一些排序操作,比如按标记排序

{
  "_id": 1,
  "gender": "m",
  "score": [
    {
      "marks": 86,
      "subject": "Eng",
      "grad": "A"
    },
    {
      "marks": 76,
      "subject": "Computers",
      "grad": "A"
    }
  ],
  "age": 18
},
{
  "_id": 2,
  "gender": "m",
  "score": [
    {
      "marks": 96,
      "subject": "Eng",
      "grad": "A+"
    },
    {
      "marks": 66,
      "subject": "Computers",
      "grad": "B"
    }
  ],
  "age": 18
}
db.collectionName.aggregate({"$unwind":"$score"},{"$sort":{"score.marks":-1}})

Hi在给定文档中,
score
数据是嵌套的,因此您应该使用下面的方法进行排序,以便您可以按标记排序

{
  "_id": 1,
  "gender": "m",
  "score": [
    {
      "marks": 86,
      "subject": "Eng",
      "grad": "A"
    },
    {
      "marks": 76,
      "subject": "Computers",
      "grad": "A"
    }
  ],
  "age": 18
},
{
  "_id": 2,
  "gender": "m",
  "score": [
    {
      "marks": 96,
      "subject": "Eng",
      "grad": "A+"
    },
    {
      "marks": 66,
      "subject": "Computers",
      "grad": "B"
    }
  ],
  "age": 18
}
db.collectionName.aggregate({"$unwind":"$score"},{"$sort":{"score.marks":-1}})

或作为chridam的参考

 db.collectionName.find().sort({"score.marks": -1}) 
 db.collectionName.find()._addSpecial( "$orderby", { "score.marks": -1 })
 db.collectionName.find( { $query: {}, $orderby: { "score.marks": -1 } } )
如果您只想
主题
标记
使用mongo

如果有任何条件,则使用ex:

db.collectionName.aggregate({"$unwind":"$score"},{"$sort":{"score.marks":-1}},{"$match":{"score.subject":"Eng"}},
    {"$project":{"marks":"$score.marks","subject":"$score.subject","_id":0}})

db.collection.find()。有关更多详细信息,请参阅。如果我只需要主题和标记,那么查询是什么?聚合对于this@Michael9聚合是一种方法,但我认为比chridamit的工作罚款更合适的方法,如果我只想返回分数和主题,我如何进行排序?我尝试了find()之前只有,但它正在返回,因为我在我的question@SettiMahesh如果您想了解更多信息,请访问mongodb官方网站并遵循文档说明或尝试以下方法