Nếu bạn không phải nhận vị trí trong thời gian thực, câu trả lời của Neil Lunn là hoàn hảo. Nhưng nếu ứng dụng của bạn luôn có dữ liệu để chèn vào bộ sưu tập này, thì đối với dữ liệu mới, bạn không thể có được vị trí cho nó.
Đây là một giải pháp khác:
Đầu tiên, bạn thêm chỉ số về điểm trường trong bộ sưu tập này. Sau đó, sử dụng truy vấn db.highscores.count({score:{$gt: user's score})
. Nó sẽ đếm các tài liệu có số điểm lớn hơn mục tiêu. Con số này là vị trí.