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

mangusta/mongodb zapytanie wielokrotnego sortowania

Musisz umieścić oba sort terminy w jeden obiekt:

exports.getMinCuttingTime = function(number, callback){ 
    ProjectModel.find()
        .sort({totalCuttingTime: 1, favoriteCount: -1})
        .select({_id: 1})
        .limit(number)
        .exec(
            function(err, projects) {
                callback(null, projects)
            }
        );
};

Warto zauważyć, że standard ECMA-262, na którym oparty jest Node.js, nie określa, czy kolejność właściwości obiektu jest zachowywana, a jest to jedynie de facto standard dopasowujący kolejność wstawiania. Aby wyeliminować wszelkie wątpliwości, możesz zamiast tego użyć tablicy:

.sort([['totalCuttingTime', 1], ['favoriteCount', -1]])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB przejmuje mLab  —  Jakie są różne alternatywy hostingu MongoDB?

  2. Dopasowanie pola tablicy, które zawiera dowolną kombinację podanej tablicy w MongoDB

  3. Jak przetestować aktualizacje aplikacji MongoDB?

  4. Zoptymalizowany sposób zapytań w MongoDB za pomocą $in vs $or

  5. MongoDB:Jak uzyskać odrębną listę wartości pól dokumentu podrzędnego?