MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy mongo może zwrócić dokumenty z pustymi/brakującymi polami na końcu w kolejności asc?

Podczas zwracania wyniku dla db.jason.find().sort({"rank":1}) , MongoDB uporządkuje dokumenty według typu „ranga”, a następnie według wartości „ranga”. Na potrzeby porządku sortowania MongoDB traktuje dokumenty, w których brakuje pola, jako mające typ NULL dla tego pola. Typ NULL jest porządkowany przed typami liczbowymi i nie można tego zmienić (patrz http://docs.mongodb.org/manual/reference/method/cursor.sort/ dla wbudowanej kolejności sortowania typów). Sugerowałbym zamiast tego skonstruowanie dwóch zapytań (jednego dla dokumentów zawierających „rank”, a drugiego dla dokumentów bez „rangi”) i scalenie wyników w aplikacji. Jeśli jednak chcesz zachować to pojedyncze zapytanie, będziesz musiał ustawić „ranking” we wszystkich dokumentach, aby wygenerować pożądaną kolejność (na przykład używając wartości sentinel z typem, który sortuje się po typach liczbowych).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Opcje hostingu MongoDB po usunięciu dodatku Heroku mLab

  2. Mongodb różni się w polu tablicy z zapytaniem o wyrażenie regularne?

  3. MongoEngine:Dodawanie pól do dokumentu dynamicznego

  4. Przenieś element z jednej tablicy do drugiej w tym samym dokumencie MongoDB

  5. ImportError:brak modułu o nazwie „pymongo”