sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongo MapReducer vælg seneste dato

Har du overvejet at bruge en af ​​følgende fremgangsmåder?

Find MAX timeStampField i samlingen:

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

ELLER:

Find MAX timeStampField , ifølge user_id i samlingen (hvis DB ikke er sønderdelt):

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. Sådan laver du en kompleks forespørgsel MongoDB med Powershell

  2. menuen mean.js er Offentlig virker ikke

  3. Forespørg mongodb-samling som dynamisk

  4. Indsæt eller opdater i Mongo ved hjælp af mongoose, og modificer indre elementer, mens du opdaterer