2016-05-04 6 views
0

Ich habe einige IDs in Array locationIds gespeichert, die bereits auf eine Weise sortiert ist, die ich will. Aber mit den untenstehenden Codes bekomme ich die Antwort in der Reihenfolge sortiert.Deaktivieren Sie die Sortierung in sailsjs Abfrage

var locationIds = []; // pushing id's in it 
Locations.find({ id: locationIds }).paginate({ page: page, limit: limit }).exec(function(err, sortedLocations) { 
    // need the response in the same order as in locationIds 
}); 

Gibt es eine Möglichkeit, dass ich diese Standardsortierung oder andere Möglichkeiten deaktivieren kann? Brauchen Sie Hilfe, danke im Voraus.

+3

Wenn Sie in MongoDB keine Bestellung angeben, haben Sie keine Garantie, in welcher Reihenfolge Sie Datensätze erhalten. Sie sollten es in ** natürlicher Reihenfolge ** bekommen, aber Sie können nicht 100% sicher sein. Siehe [Wie sortiert MongoDB Datensätze, wenn keine Sortierreihenfolge angegeben ist?] (Http://stackoverflow.com/questions/11599069/how-does-mongodb-sort-records-whenn-no-sort-order-isspecified) – Bonanza

+0

In Ordnung, statt es zu deaktivieren, gibt es einen anderen Weg für dieses Problem? –

Antwort

0

Wie in den Kommentaren erwähnt, wenn Sie keine Sortierreihenfolge angeben, gibt es keine Garantie, in welcher Reihenfolge die Ergebnisse kommen. Wenn Sie eine bestimmte Reihenfolge haben, die unabhängig von einem der vorhandenen Felder ist, dann Der beste Ansatz besteht darin, ein order-Feld zu den Datensätzen hinzuzufügen, die Sie verwenden können, um sie manuell zu sortieren und dann danach zu sortieren.

Verwandte Themen