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

Hvordan kan jeg sortere i, at nuller sidst er bestilt i mongodb?

Måske kan du bruge aggregering og en kunstig høj slutdato:

c = db.foo.aggregate([
{$project: {
            next_time: 1,
            nlt: { $ifNull: [ "$next_time", new ISODate("9000-01-01") ] }
  }     
}
,
{$sort: { "nlt": 1}}
                  ]);
c.forEach(function(r) { printjson(r); });

Alternativt, hvis størstedelen af ​​materialet har nuller, og du slet ikke ønsker at beskæftige dig med disse dokumenter, så filtrer dem fra og bare $sort resten:

db.foo.aggregate([
{$match: {"nt": {$exists: true}}}
,
{$sort: { "nt": 1}}
                 ]);


  1. Til hvilket niveau låser MongoDB skrivning? (eller:hvad betyder det med per forbindelse

  2. MongoDB Schema Design:Der er altid et skema

  3. Auto-genereret felt til MongoDB ved hjælp af Spring Boot

  4. Apache Phoenix til CDH