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

Kan mongo returnere dokumenter med tomme/manglende felter i slutningen i asc-rækkefølge?

Ved returnering af resultatet for db.jason.find().sort({"rank":1}) , vil MongoDB sortere dokumenterne efter "rang"-type og derefter efter "rang"-værdi. Med henblik på sorteringsrækkefølge behandler MongoDB dokumenter, hvor et felt mangler, som at have en NULL-type for det pågældende felt. NULL-typen er bestilt før numeriske typer, og dette kan ikke ændres (se http://docs.mongodb.org/manual/reference/method/cursor.sort/ for den indbyggede type sorteringsrækkefølge). Jeg vil foreslå, at du i stedet konstruerer to forespørgsler (en for dokumenter, der indeholder "rang", og en for dokumenter uden "rang") og flette resultaterne i din ansøgning. Men hvis du har brug for at beholde dette en enkelt forespørgsel, skal du indstille "rang" i alle dokumenter for at generere den rækkefølge, du ønsker (for eksempel ved at bruge en vagtværdi med en type, der sorterer efter numeriske typer).




  1. Spring data mongo bruger OR i Query

  2. Opdater et underdokument indeholdt i et array indeholdt i et MongoDB-dokument

  3. Rækkeniveau atomisk FLÉT ERSTAT i BigQuery

  4. Sådan fortæller du en klient, hvor den nye Redis-master bruger Sentinel