sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag sortera efter att nollor senast beställdes i mongodb?

Kanske kan du använda aggregering och ett konstgjort högt slutdatum:

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, om majoriteten av materialet har nollor och du inte vill ta itu med dessa dokument alls, filtrera sedan bort dem och bara $sort resten:

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


  1. Hur man kan ignorera dubblettnyckelfel på ett säkert sätt med insert_many

  2. Dela en sessionsbutik på Redis för en Django- och en Express.js-applikation

  3. Indexering med Redis sorterade uppsättningar

  4. Hur kör man minnesanalys på AWS ElastiCache?