Ich habe eine Mongo-Datenbank in cmd ausgeführt. Es gibt eine Sammlung namens usercollection. Und es gibt auch einige Dokumente, die ich durch die Eingabe in Mongo Shell bekommen:mongodb absteigend Sortierung nach einem numerischen Feld wird zufällig sortiert (node.js)
db.usercollection.find().sort({score: -1}).pretty()
Ausgang:
{
"_id" : ObjectId("57501b2d7ef17cd8c1bd63bc"),
"name" : "QWERTY",
"score" : "100",
"link" : "http://qwerty.com"
}
{
"_id" : ObjectId("5750199819433f80da88c847"),
"name" : "Adam Sandler",
"score" : "222",
"link" : "http://sandler.com"
}
{
"_id" : ObjectId("57501af57ef17cd8c1bd63bb"),
"name" : "gfhfghfghguy",
"score" : "5",
"link" : "http://dsad.com"
}
{
"_id" : ObjectId("57501bb47ef17cd8c1bd63bd"),
"name" : "Test name",
"score" : "50",
"link" : "http://fdsfds.cpm"
}
{
"_id" : ObjectId("574f4a9dab868fdc896d11b4"),
"name" : "Rich Man",
"score" : "500",
"link" : "http://jikl.me"
}
{
"_id" : ObjectId("574f50f1fbd256888ffa248d"),
"name" : "lfgfgff",
"score" : "9",
"link" : "http://oh.com"
}
{
"_id" : ObjectId("574f5324fbd256888ffa248e"),
"name" : "test name",
"score" : "9",
"link" : "http://dsad.com"
}
Das Problem ist, dass ich diese Dokumente von einem mit dem höchsten zu sortieren bin versucht, Tor eines mit dem niedrigsten Punktzahl und es ist Ausgang völlig zufällig ist (
ich die Anzeige, dass Dokumente auf der Website node.js und das Ergebnis ist das gleiche wie in der Konsole.
Das Problem ist, dass Ihre Werte sind Zeichenfolgen, keine Zahlen. Es wäre am besten, es als Nummer zu speichern. – JohnnyHK
Ich bin neu in diesem Zeug, können Sie mir sagen, wie man es Zahlen macht? –
Sie können mit einem Ansatz wie http://stackoverflow.com/a/9746195/1259510 – JohnnyHK