sql >> Database >  >> NoSQL >> MongoDB

Kan mongo documenten met lege/ontbrekende velden aan het einde in oplopende volgorde retourneren?

Bij het retourneren van het resultaat voor db.jason.find().sort({"rank":1}) , zal MongoDB de documenten ordenen op "rang"-type en vervolgens op "rang"-waarde. Met het oog op de sorteervolgorde behandelt MongoDB documenten waarin een veld ontbreekt als een NULL-type voor dat veld. Het NULL-type wordt geordend voor numerieke typen en dit kan niet worden gewijzigd (zie http://docs.mongodb.org/manual/reference/method/cursor.sort/ voor de ingebouwde sorteervolgorde van het type). Ik zou willen voorstellen om in plaats daarvan twee query's te maken (een voor documenten die "rang" bevatten en een voor documenten zonder "rang") en de resultaten in uw toepassing samen te voegen. Als u dit echter een enkele zoekopdracht wilt houden, moet u "rang" in alle documenten instellen om de gewenste volgorde te genereren (bijvoorbeeld door een schildwachtwaarde te gebruiken met een type dat sorteert op numerieke typen).




  1. Naamgevingsconventie en geldige tekens voor een Redis-sleutel

  2. MongoDB-regel om een ​​rij te verwijderen als een bepaalde kolom een ​​specifieke waarde bevat

  3. Positionele operator gebruiken met hiërarchieën op twee niveaus in Mongo

  4. MongoDB:een array kopiëren naar een andere array in hetzelfde document