MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как мога да сортирам, че нулите са последно подредени в mongodb?

Може би можете да използвате агрегиране и изкуствено висока крайна дата:

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

Като алтернатива, ако по-голямата част от материала има нулеви стойности и изобщо не искате да се занимавате с тези документи, тогава ги филтрирайте и просто $sort остатъкът:

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

  2. Как да извика db.Collection.stats() от Mongo java драйвер

  3. Справяне с промени в схемата в Mongoose

  4. има ли обратна грешка при свързване на mongoose

  5. Как да импортирате .bson файлов формат в mongodb