To jest moje dane MongoDB ...

Data

Używam tego węzła / mangusta skryptu, aby uzyskać konkretny egzamin posortowany według wyniku.

User.find("completedExams.exam": "test-1").sort({'completedExams.score': -1}).select({'completedExams.$': 1, name: 1}).limit(5).exec(
  function(err, allScores) {
    if (err) res.status(500).send(err);
    res.json(allScores);
  });

Ale dostaję to. To nie jest sortowanie według wyniku

Output

0
Kaycobad Jony 17 październik 2020, 09:42

1 odpowiedź

Najlepsza odpowiedź

Próbowałem tego z agregacją. To jest zwykłe zapytanie Mongo. Mam nadzieję, że możesz go przetłumaczyć na Nodejs. Oto zapytanie: -

db.collection.aggregate([
  {
    "$unwind": "$completedExams"
  },
  {
    "$match": {
      "completedExams.exam": "test-1"
    }
  },
  {
    "$sort": {
      "completedExams.score": -1
    }
  }
])

Oto link do Mongo Plac zabaw

Mam nadzieję, że właśnie tego szukałeś.

0
wak786 17 październik 2020, 19:07