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

Mongo MapReduce wybierz ostatnią datę

Czy rozważałeś użycie jednego z poniższych podejść?

Znajdź MAX timeStampField w kolekcji:

db.collectionName.ensureIndex( { "timeStampField": -1 } );
db.collectionName.find({},{"timeStampField":1}).sort({timeStampField:-1}).limit(1);

LUB:

Znajdź MAX timeStampField , na identyfikator_użytkownika w kolekcji (jeśli DB nie jest sharded):

db.collectionName.group(
  {  key: { "user_id" : 1 }
   , initial: { maxTimeStamp   : new Timestamp()  }
   , cond:    { timeStampField : {$exists : true}, timeStampField : {$gt: new Timestamp()} }
   , reduce:  function(doc,out) { 
                  if (out.maxTimeStamp < doc.timeStampField) { 
                      out.maxTimeStamp = doc.timeStampField; 
                  }
              }
  }
);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę zwrócić tablicę obiektów mongodb w pymongo (bez kursora)? Czy MapReduce może to zrobić?

  2. Jak zaktualizować pole przy użyciu jego poprzedniej wartości w MongoDB/Mongoose?

  3. Nie można zapełnić tablicy poddokumentów Mongoose.js

  4. Jaki jest odpowiednik polecenia powłoki collection.getIndexes() w pymongo?

  5. Mongodump ze zdalnego serwera