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

Mongo può restituire documenti con campi vuoti/mancanti alla fine in ordine asc?

Quando si restituisce il risultato per db.jason.find().sort({"rank":1}) , MongoDB ordinerà i documenti per tipo "rank" e quindi per valore "rank". Ai fini dell'ordinamento, MongoDB tratta i documenti in cui manca un campo come se avessero un tipo NULL per quel campo. Il tipo NULL viene ordinato prima dei tipi numerici e non può essere modificato (vedi http://docs.mongodb.org/manual/reference/method/cursor.sort/ per il tipo di ordinamento incorporato). Suggerirei invece di costruire due query (una per documenti contenenti "classifica" e una per documenti senza "classifica") e unire i risultati nella tua applicazione. Tuttavia, se è necessario mantenere questa query singola, sarà necessario impostare "classifica" in tutti i documenti per generare l'ordine desiderato (ad esempio, utilizzando un valore sentinella con un tipo che ordina i tipi numerici).