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

Jak mogę posortować, czy wartości null są ostatnio zamówione w mongodb?

Być może możesz użyć agregacji i sztucznie zawyżonej daty końcowej:

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); });

Alternatywnie, jeśli większość materiału ma wartości null i nie chcesz w ogóle zajmować się tymi dokumentami, odfiltruj je i po prostu $sort reszta:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB na komputerze z systemem Windows 7:nie można nawiązać połączenia

  2. Mongodb wstawia dokument bez pola _id

  3. Mongoose, CastError:Przesyłanie do tablicy nie powiodło się podczas próby zapisania modelu zawierającego model

  4. Zautomatyzuj kontrolę stanu bazy danych

  5. Jak wykluczyć jedno konkretne pole z kolekcji w Mongoose?