MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Ottieni il posizionamento del documento nella raccolta in base all'ordinamento

Se non devi ottenere il posizionamento in tempo reale, la risposta di Neil Lunn è perfetta. Ma se la tua app ha sempre dati da inserire in questa raccolta, per i nuovi dati non puoi ottenere il posizionamento per essa.

Ecco un'altra soluzione:

Innanzitutto, aggiungi l'indice sul punteggio del campo in questa raccolta. Quindi usa la query db.highscores.count({score:{$gt: user's score}) . Conterà i documenti il ​​cui punteggio è maggiore del target. Questo numero è il posizionamento.